登录
  • #码农类general
  • #工作信息
  • #找工就业
  • #microsoft
  • #求职(非面经)

年前微软苏州店面

raphtao07
1140
6
按照常理第一轮电面通常是15分钟BQ闲扯+45分钟medium level coding task,结果被苏州微软的电面虐到怀疑人生。

第一道题easy level果断秒,心里一阵轻松的时候面试官说我们来一道考察问题分析能力的题。

给两个正整数a和b,求a除以b得到无限循环小数的循环节。如果能整除返回0。比如1/3=0.3333...=>3, 2/7=0.2857142...=>285714

一开始提出对分母进行分解质因数,只要分母的质因数只包括2和5就能整除否则不能整除。

被面试官提出33/11这样的case。

后来想出来分子对分母求余和求除,除得的数我们存储下来,求余的数*10进入下一轮运算。

被面试官提出11/100=0.11这样能整除的case会被我当成循环节是1。

实际上当时想出了很多正确的point,只是没能在面试的心里压力下把这些point结合在一起。

没能成功的把能整除和不能整除的case区分开。

后来想到判断整除可以对a和b分解质因数,得到set A和set B, 如果set B里包含set A里不存在的数而且不是2和5就不能整除,否则可以整除。

只是问题到这里才解决了一半,还要进行逐步求小数点后的每一位数得到循环节的过程。

这道题解的让面试官不太满意,又给了一个easy级别的二叉树问题果断秒。

只能说这道题的解法包括太多需要通过数学知识分析来得到解决方案,在面试给出的时间里分析出解决方案并且敲出代码的难度太大。

感觉自己的分析能力是合格的,只是心理抗压能力确实不行。面试里遇到这样的问题第一时间没思路后面就慌了,脑子卡到没法转。能不能过听天由命了。
6条回复
热度排序

发表回复