微软面试算法题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微软面试算法题
微软面试算法题
(1)一个整数数列,元素取值可能是0—中的任意一个数,相同数值不会重复出现。
0是例外,可以反复出现。
请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
注意:
你让某些人为你工作了七天,你要用一根金条作为报酬。
这根金条要被分成七块。
你必须在每天的活干完后交给他们一块。
如果你只能将这根金条切割两次,你怎样给这些工人分?
-5个数值允许是乱序的。
比如:8 7 5 0 6;
(8)了解化学键的含义,了解键能的概念及其对共价化合物热稳定性的影响。
了解离子键的概念、形成以及离子化合物的特点。
了解共价键的概念、形成以及共价分子的特点。
-0可以通配任意数值。
比如:8 7 5 0 6中的0可以通配成9或者4;
-0可以多次出现;
-复杂度如果是O(n2)则不得分。
每一位参加复试的考生都期待自己就是导师想要的人才,而人才不仅要具备过硬的专业素质、能力,更要具有良好的个人品质。
因此,当我们作为考生面对导师,我们未来的老师时,更应当态度谦虚。
谦虚的态度落实在语言上,就要求谨慎措辞,字里行间体现我们谦虚的态度。
(2)设计一个算法,找出二叉树上任意两个结点的最近共同父结点,复杂度如果是O(n2)则不得分。
13。
如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件事将是什么?
师女士(某咨询公司高级顾问):微软是一家电脑软件公司,当然要求其员工有一定的计算机和数学能力,面试中自然就会考察这类能力。
微软的上述面试题目就考察了应聘人员对基础知识的掌握程度、对基础知识的应用能力,甚至暗含了对计算机基本原理的考察。
所以,这样的面试题目的确很“毒辣”,足以筛选到合适的人。
(3)一棵排序二叉树,令f=(最大值+最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。
复杂度如果是O(n2)则不得分。
(4)一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。
设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。
复杂度最好是O(n),如果是O(n2)则不得分。
答:当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。
违反语义规则包括2种情况。
一种是JAVA类库内置的语义检查。
例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。
另一种情况就是JAVA 允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。
所有的异常都是ng.Thowable的子类。