当前位置:文档之家› 微软四道经典算法面试题(附思路)

微软四道经典算法面试题(附思路)

微软四道经典算法面试题(附思路)
微软四道经典算法面试题(附思路)

微软四道经典算法面试题(附思路)

1.比较经典的四个算法题,目前只收集到相关的思路和个别题目的解法,不断更新中

2. 1.一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出

现。0是例外,可以反复出现。

3.请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相

邻。

4.注意:

5.- 5个数值允许是乱序的。比如: 8 7 5 0 6

6.- 0可以通配任意数值。比如:8 7 5 0 6 中的0可以通配成9或者4

7.- 0可以多次出现。

8.- 复杂度如果是O(n2)则不得分。

9. 2.设计一个算法,找出二叉树上任意两个结点的最近共同父结点。

10.复杂度如果是O(n2)则不得分。

11.3.一棵排序二叉树,令 f=(最大值最小值)/2,设计一个算法,找出距离f值最近、

大于f值的结点。

12.复杂度如果是O(n2)则不得分。

13.4.一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,

相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N 1。

14.复杂度最好是O(n),如果是O(n2)则不得分。

15.思路分析

16.1.非0最大-非0最小 1 <=5 ==> 非0最大-非0最小 <=4

17.2.如果每个节点包含父亲指针,把两个节点到根的路径都记录下来,两条路径的最

后面的元素肯定相同,

18.从两条路径的最后一个元素向前比较,直到第一次出现分叉为止,就可以找到最近

节点。复杂度为O(n),

19.路径最长可能是n

20.如果不包含父亲节点,那就先前序遍历二叉树,遍历的时候可以像哈夫曼树那样左

右01编号,

21.记录给定两节点的到达路径,最后比较两个0,1序列的前面位数,直到出现不相等

为止,就找到最近父节点,

22.复杂度也是O(n)

23.3.找出最大值,最小值,复杂度都是O(h),然后搜索f,可以找到f应该插入的

位置,复杂度也是O(h),

24.再找f的后继,复杂度也是O(h),h最大可能是n,所以总体最坏情况复杂度就

是O(n)

25.4.先排序,复杂度O(nlgn),然后用两个指示器(front和back)分别指向第一

个和最后一个元素,如果

26.A[front] A[back]>N 1,则back–;

27.如果A[front] A[back]=N 1,则计数器加1,back–,同时front ;

28.如果A[front] A[back] 重复上述步骤,O(n)时间找到所有数对,总体复杂度

为O(nlgn)

29.题目分析

30.第1题:首先扫描一遍求出非0平均值,然后再扫描一遍即可判断,复杂度:O(n)

31.第2题,是一个送分题,可以设计一个相当巧妙的数据结构,其复杂度为O(n)

32.第3题,也是送分题,扫描几次即可

33.第4题,送分题。牺牲空间即可完成。

34.具体算法

35.1.思路是非0最大值-非0最小值 <=数组长度-1

36.我觉得这道题的前提非常重要

37.p ublic boolean isContiguous(int[] array)

38. {

39. int min=-1;

40. int max=-1;

41. for(int i=0;i

42. {

43. if(array!=0)

44. {

45. if(min==-1||min>array)

46. {

47. min=array;

48. }

49. if(max==-1||max

50. {

51. max=array;

52. }

53. }

54. }

55. return max-min <=array.length-1;

56. }

57.4.关键点在于创建一个Hash表,典型的以空间换时间:-)

58. public static int getSumCount(int[] array,int N)

59. {

60. int count=0;

61. //创建哈希表

62. int[] hashTable=new int[N 1];

63. for(int i=0;i

64. {

65. hashTable[array]=array;

66. }

67. for(int i=0;i

68. {

69. //如果是数对中较小的整数(防止重复计数)

70. //并且配对的整数存在

71. //并且不等于与之配对的整数,因数列不存在重复整数

72. if(array <=(N 1)/2&&hashTable[N 1-array]!=0&&arra

y*2!=N 1)

73. {

74. count ;

75. }

76. }

77. return count;

78. }

微软公司面试题及答案

1.1个小时。现在有若干条 呢? 2. 种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果 3.35 4公升的水? 4. 永远说 5.12 才能用三次就找到那个球。13 6.在9个点上画10 7.在一天的24 1.的记下 取其中一段A。 A 2.~ 3.2 2 4. 5.1213个时只能找出是哪 重不知。 13 4个球中。 还是轻

㈡如左 把①②⑤与③④⑥做第二次称量 是⑦与⑧中谁是重球 的。 的。 当13 ⒈ ⑿还 ⒉不等的情况参见第㈠步的⒉⒊ 6. 见下面的点 10条线的情况是 123 456 789 148 159 247 258 269 357 368 ①②③ ④⑤⑥ ⑦⑧⑨ 7. 11时与0时的分钟区内共享一个重合 242222 11 11 0n点到n+1点间(n=1,2,……10)X 小时 则30°X=60(X-n)6° 即X=12n/11。 此时时针分针的位置是30°X=(360/11)n°=(32+8/11)n° 秒针的位置是 360(X-n)6°=(4320/11)n°=(392+8/11)n°=360n°+(32+8/11)n°=(32+8/11 )n°22个点重合。 微软面试题附答案 逻辑 1.拿钻石问题一楼到十楼的每层电 小不一。你乘坐电梯从一楼到 2.一位逻辑学家被

话、另外一个则 3.100 个人组成10*10 1010个人中挑出最矮的 10 1 1到100有多少个9 2连续整 数之和为1000的共有几组 3. U2合唱团在17分钟内得赶到演唱会 一次同时最多 得有 方式来传递 的。 Bono需花1 分钟过桥 Edge需花2分钟过桥 Adam需花5分钟过桥 Larry需花10分钟过桥他们要如何在17(这是 Micrsoft在五分钟内答出来才可能获 得聘用)。 4说有一份遗产3500 果这个女人生的是儿子那么 他将分得她女儿的2倍,如果这个女人生 5老师d的物 教室上了5d上了3 a、b、c三个同学盗窃 1、a上了两堂课 2、b上了三堂课 3、c上了四堂课 4、a、b、 c每个人都上了老师d的两堂课 5 不相同 6、老师d 6 a b c d e * f __________________ g g g g g g a b c d e f g 7 a进行一次 C和D60km/h但是当他从C到达D 的时候发现平均速度只有30km/h a 应当怎么做才能够使这次往返旅行的平局速度到达60km/h 8烧一 1个小时。现在有若干条材质相 同的 9 种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果 1035公升的 提4公升 11 12 12 13个 139个点上画10

计算机常见算法面试题

简介:计算机考研之家搜集的华为C语言经典面试题,来试试你的C语言水平吧。每道题都附有详细解答和讲解,很有参考价值的C语言面试题。 怎么判断链表中是否有环? bool CircleInList(Link* pHead) { if(pHead = = NULL || pHead->next = = NULL)//无节点或只有一个节点并且无自环 return (false); if(pHead->next = = pHead)//自环 return (true); Link *pTemp1 = pHead;//step 1 Link *pTemp = pHead->next;//step 2 while(pTemp != pTemp1 && pTemp != NULL && pTemp->next != NULL) { pTemp1 = pTemp1->next; pTemp = pTemp->next->next; } if(pTemp = = pTemp1) return (true); return (false); } 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串 void insert(char *s, char *t, int i) { memcpy(&s[strlen(t)+i],&s[i],strlen(s)-i); memcpy(&s[i],t,strlen(t)); s[strlen(s)+strlen(t)]='\0'; } 1。编写一个C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。 char * search(char *cpSource, char ch) { char *cpTemp=NULL, *cpDest=NULL; int iTemp, iCount=0; while(*cpSource) { if(*cpSource == ch) { iTemp = 0; cpTemp = cpSource; while(*cpSource == ch) ++iTemp, ++cpSource; if(iTemp > iCount)

经典数据结构面试题(含答案)

.栈通常采用的两种存储结构是______________________ .用链表表示线性表的优点是_______________________ 8.在单链表中,增加头结点的目的是___________________ 9.循环链表的主要优点是________________________- 12.线性表的顺序存储结构和线性表的链式存储结构分别是__________________________ 13.树是结点的集合,它的根结点数目是_____________________ 14.在深度为5的满二叉树中,叶子结点的个数为_______________ 15.具有3个结点的二叉树有(_____________________ 16.设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为____________________ 17.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是____________________________ 18.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为______________________ 19.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是_______________________ 20.数据库保护分为:安全性控制、完整性控制、并发性控制和数据的恢复。 在计算机中,算法是指_______________________ 算法一般都可以用哪几种控制结构组合而成_____________________ .算法的时间复杂度是指______________________ 5. 算法的空间复杂度是指__________________________ 6. 算法分析的目的是__________________________

无领导小组讨论的经典面试题目及答案解析

无领导小组讨论的经典面试题目及答案解析 沙漠求生记 一、内容 1、在炎热的八月,你乘坐的小型飞机在撒哈拉沙漠失事,机身严重撞毁,将会着火焚烧。 2、飞机燃烧前,你们只有十五分钟时间,从飞机中领取物品。 3、问题:在飞机失事中,如果你们只能从十五项物品中,挑选五项。在考虑沙漠的情况后,按物品的重要性,你们会怎样选择呢?请解释原因。 二、沙漠情况 1、飞机的位置不能确定,只知道最近的城镇是附近七十公里的煤矿小城。 2、沙漠日间温度是40度,夜间温度随时骤降至5度。 三、假设 1、飞机上生还人数与你的小组人数相同。你们装束轻便,只穿着短袖T恤、牛仔裤、运动裤和运动鞋,每人都有一条手帕。 2、全组人都希望一起共同进退。 3、机上所有物品性能良好。 四、物品清单 请从以下十五项物品中,挑选最重要的五项: 1、一支闪光信号灯(内置四个电池)

2、一把军刀 3、一张该沙漠区的飞行地图 4、七件大号塑料雨衣 5、一个指南针 6、一个小型量器箱(内有温度计、气压计、雨量计等) 7、一把45口径手枪(已有子弹) 8、三个降落伞(有红白相间图案) 9、一瓶维他命丸(100粒装) 10、十加仑饮用水 11、化妆镜 12、七副太阳眼镜 13、两加仑伏特加酒 14、七件厚衣服 15、一本《沙漠动物》百科全书 专家解题: 一位專家在沙漠研究求生問題,搜集了無數事件和生還者資料,得出以下結論: 1.化妝鏡: 在各項物品中,鏡子是獲救的關鍵.鏡子在太陽下可產生相等於七萬支燭光;如反射太陽光線,地平線另一端也可看見.只要有一面鏡,獲救機會有80%

2.外套1件: 人體內有40%是水份,流汗和呼吸會使水份消失,保持鎮定可減低脫水速度.穿外套能減低皮膚表面的水份蒸發.如沒有外套,維持生命的時間便減少一日. 3.四公升水: 如有以上兩項物品,可生存三天.水有助減低脫水速度.口渴時,飲水可使頭腦清醒. 但身體開始脫水時,飲水也沒有多大作用了. 4.手電筒: 電筒是在晚上最快最可靠的工具.有了化妝鏡和手電筒,24小時都可發出訊號;而且可用電筒作反光鏡和玻璃做訊號,亦可作引火點燃之用. 5.降落傘: 可用作遮蔭和發出訊號,用仙人掌做營桿,降落傘做營頂,可減低20度. 6.大摺刀: 可切碎仙人掌或切割營桿,也有其他用途,可排於較前位置. 7.膠雨衣: 可做(集水器),在地上掘一個洞,用雨衣蓋在上面,再在中間放一小石塊,使之成漏斗形.日夜溫度差距可使空氣的水份附在雨衣上:將雨衣上的水滴在電筒中儲存.這樣做一天可提取500毫升的水,但也可消耗兩倍可收集的水份. 8.手槍: 第二天之後,說話和行動已很困難.彈藥有時要做起火之用,而國際求救訊號是連續三個短的符號.無數事件是因為求生者不能作聲而沒有給發現.還有槍柄可作槌仔用. 9.太陽眼鏡: 在猛烈陽光下會有光盲症.用降落傘遮蔭可避免眼睛受損,但用太陽眼鏡更舒適. 10.紗布一箱: 沙漠濕度低,是最少傳染病的地方.,但身體脫水會使血液凝結. 有事例紀錄,有一男子身體內失去水份,而身上的衣服已撕破,倒在仙人掌和石上. 滿身傷口但無流血.後來獲救,飲水後傷口再度流血,紗布可當繩子或包紮保護之用. 11.指南針: 除用其反射面作發訊外,它並無用處,反而引誘了人離開失事地點的危機. 12.航空圖: 可用作起火或廁紙用,亦會引誘人走出沙漠. 13.書一本: 最大問題是脫水而非饑餓,打獵所得相等於失去水份,沙漠中也沒什麼動物可見.進食亦需要大量的水以幫助消化. 14.伏特加酒:劇烈的酒精會吸去人體水份,更可致命,它只能用作暫時降低體溫之用. 15.鹽片千片:人們過分高估鹽的用途.如血液內鹽份增加,同時也需要大量的水以降低身體內的含鹽量. 月球求生记

微软公司面试题及答案

微软面试题及答案 2009-09-28 10:56 P.M. 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻? 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水? 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问? 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑) 6.在9个点上画10条直线,要求每条直线上至少有三个点? 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的? 答案: 1.一要一头烧,一根从两头烧,再有一根做参照,两头烧完的记下位置(即烧到这里要半小时),把参照的那根从标记位置处剪开,取其中一段A。 一头烧的那根烧完后(就是一个小时后),把A从两头开始烧,烧完后即为十五分钟,加起来共一小时十五分钟。2.答案:四个~3.大桶装满水,倒入小桶,大桶剩下2公升水。小桶水倒掉,大桶剩2公升水倒入小桶中,大桶再装满后,倒入小桶至小桶满,大桶即剩4公升水。4.如果参加过类似于奥林匹克数学班的,都应做过这些题。问他你的国家怎么走,他肯定指向的是诚实国。5.12个时可以找出那个是重还是轻,13个时只能找出是哪个球,轻重不知。 把球编为①②③④⑤⑥⑦⑧⑨⑩⑾⑿。(13个时编号为⒀) 第一次称:先把①②③④与⑤⑥⑦⑧放天平两边, ㈠如相等,说明特别球在剩下4个球中。 把①⑨与⑩⑾作第二次称量, ⒈如相等,说明⑿特别,把①与⑿作第三次称量即可判断是⑿是重还是轻 ⒉如①⑨<⑩⑾说明要么是⑩⑾中有一个重的,要么⑨是轻的。 把⑩与⑾作第三次称量,如相等说明⑨轻,不等可找出谁是重球。 ⒊如①⑨>⑩⑾说明要么是⑩⑾中有一个轻的,要么⑨是重的。 把⑩与⑾作第三次称量,如相等说明⑨重,不等可找出谁是轻球。 ㈡如左边<右边,说明左边有轻的或右边有重的

算法经典面试题

算法经典面试题 世界上第一位程序员是英国著名诗人拜伦的女儿AdaLovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。下面就由X为大家介绍一下程序员面试算法题的文章。 程序员面试算法题篇1 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 思路一:当我们到达某一个节点准备调整以该节点为根节点的子数时,先调整其左子树将左子树转换成一个排好序的左子链表,再调整其右子树转换成右子链表。最近链接左子链表的最右节点、当前节点和右子链表的最左节点。从树的根节点开始递归调整所有节点。

思路二:我们可以中序遍历整个树。按照这个方式遍历树,比较小的节点优先访问。如果我们每访问一个节点,假设之前访问过的节点已经调整为一个排序的双向链表,我们再把调整当前节点的指针链接到链表的末尾。当所有的节点都访问过之后,整棵树也就转换成一个排序的双向链表了。 参考代码: 二元查找树的节点数据结构: structBSTreeNode{ int value; BSTreeNode *m_left; BSTreeNode *m_right; } 思路二对应的代码: void ConvertNode(BSTreeNode* pNode, BSTreeNode*& pLastNodeInList) { if(pNode == NULL) return; BSTreeNode *pCurrent = pNode; // Convert the left sub-tree if (pCurrent->m_pLeft != NULL) ConvertNode(pCurrent->m_pLeft, pLastNodeInList);

大学生面试15个经典问题与答案

大学生面试20个经典问题与答案 面试是大学生就业关键一关,要知己知彼,百战不殆。下面由首席大学生就业顾问、著名职业生涯规划专家:李震东老师向大家介绍面试问题及回答思路: 问题一:“请你自我介绍一下” 我就读于华南理工大学工商管理学院,我的专业是国际经济与贸易,此外还辅修了法学. 在校期间,除了学习课本,我比较喜欢参加一些课外活动.包括发传单,做家庭教师,参加各种比赛和项目.主要就是简历上介绍的那些. 我比较喜欢踢足球,看各种企业培训的讲座. 不知道您对哪些方面还需要进一步了解. 思路: 1、这是面试的必考题目。 2、介绍内容要与个人简历相一致。 3、表述方式上尽量口语化。 4、要切中要害,不谈无关、无用的内容。 5、条理要清晰,层次要分明。 6、事先最好以文字的形式写好背熟。 问题二:“谈谈你的家庭情况” 思路: 1、况对于了解应聘者的性格、观念、心态等有一定的作用,这是招聘单位问该问题的主要原因。 2、简单地罗列家庭人口。 3、宜强调温馨和睦的家庭氛围。 4、宜强调父母对自己教育的重视。 5、宜强调各位家庭成员的良好状况。 6、宜强调家庭成员对自己工作的支持。 7、宜强调自己对家庭的责任感。 问题三:最能概括你自己的三个词是什么? 思路:我经常用的三个词是:适应能力强,有责任心和做事有始终,结合具体例子向主考官解释,使他们觉得你具有发展潜力。 问题四:“你有什么业余爱好?” 思路: 1、业余爱好能在一定程度上反映应聘者的性格、观念、心态,这是招聘单位问该问题的主要原因。 2、最好不要说自己没有业余爱好。

3、不要说自己有那些庸俗的、令人感觉不好的爱好。 4、最好不要说自己仅限于读书、听音乐、上网,否则可能令面试官怀疑应聘者性格孤僻。 5、最好能有一些户外的业余爱好来“点缀”你的形象。 6、找一些富于团体合作精神的。这里有一个真实的故事:有人被否决掉,因为他的爱好是深海潜水。主考官说:因为这是一项单人活动,我不敢肯定他能否适应团体工作。 问题五:“你最崇拜谁?” 思路: 1、最崇拜的人能在一定程度上反映应聘者的性格、观念、心态,这是面试官问该问题的主要原因。 2、不宜说自己谁都不崇拜。 3、不宜说崇拜自己。 4、不宜说崇拜一个虚幻的、或是不知名的人。 5、不宜说崇拜一个明显具有负面形象的人。 6、所崇拜的人人最好与自己所应聘的工作能“搭”上关系。 7、最好说出自己所崇拜的人的哪些品质、哪些思想感染着自己、鼓舞着自己。 问题六:“你的座右铭是什么?” 思路: 1、座右铭能在一定程度上反映应聘者的性格、观念、心态,这是面试官问这个问题的主要原因。 2、不宜说那些医引起不好联想的座右铭。 3、不宜说那些太抽象的座右铭。 4、不宜说太长的座右铭。 5、座右铭最好能反映出自己某种优秀品质。 6、参考答案——“只为成功找方法,不为失败找借口”。 问题七:“谈谈你的缺点” 思路: 1、不宜说自己没缺点。 2、不宜把那些明显的优点说成缺点。 3、不宜说出严重影响所应聘工作的缺点。 4、不宜说出令人不放心、不舒服的缺点。 5、可以说出一些对于所应聘工作“无关紧要”的缺点,甚至是一些表面上看是缺点,从工作的角度看却是优点的缺点.。绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,他已经岌芨可危了。 问题八:“谈一谈你的一次失败经历”

微软的面试题和答案(超变态但很经典)

第一组 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻? 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水? 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问? 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑) 6.在9个点上画10条直线,要求每条直线上至少有三个点? 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的? 8.怎么样种植4棵树木,使其中任意两棵树的距离相等? 第二组 1.为什么下水道的盖子是圆的? 2.中国有多少辆汽车? 3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁? 4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么? 5.多少个加油站才能满足中国的所有汽车? 6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下? 7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出? 8.你怎样将Excel的用法解释给你的奶奶听? 9.你怎样重新改进和设计一个银行自动取款机?

[第1题-60题汇总]微软数据结构+算法面试100题

精选微软等公司数据结构 精选微软等公司数据结构++算法面试100题 -----[第1题-60题总] 资源说明: 此份,是为微软等公司数据结构+算法面试100题,之前60题的汇总。 总结整理了前第1题-第60题。特此并作此一份上传。以飨各位。:)。 -------------------------------- 相关资源,包括答案,下载地址: [答案V0.2版]精选微软数据结构+算法面试100题[前20题]--答案修正 https://www.doczj.com/doc/3210610712.html,/source/2813890 //此份答案是针对最初的V0.1版本,进行的校正与修正。 [答案V0.1版]精选微软数据结构+算法面试100题[前25题] https://www.doczj.com/doc/3210610712.html,/source/2796735 [第二部分]精选微软等公司结构+算法面试100题[前41-60题]: https://www.doczj.com/doc/3210610712.html,/source/2811703 [第一部分]精选微软等公司数据结构+算法经典面试100题[1-40题] https://www.doczj.com/doc/3210610712.html,/source/2778852 更多资源,下载地址: http://v_july_https://www.doczj.com/doc/3210610712.html,/ 很快,我将公布第21-40题的答案,敬请期待。:).. 如果你对以下的前第1-60题,有好的思路,和算法,欢迎跟帖回复, 或者,联系我,发至我的邮箱, zhoulei0907@https://www.doczj.com/doc/3210610712.html,。 My CSDN Blog:https://www.doczj.com/doc/3210610712.html,/v_JULY_v My sina Blog:https://www.doczj.com/doc/3210610712.html,/shitou009 帖子维护地址: [整理]算法面试:精选微软经典的算法面试100题[前1-60题] https://www.doczj.com/doc/3210610712.html,/u/20101023/20/5652ccd7-d510-4c10-9671-307a56006e6d.html -------------------------------------- July、2010、/11.12.请享用。:)。 1

校园招聘经典面试问题汇编(含答案)

校园招聘系列校园招聘系列之 校招经典面试问题汇编(含答案) 一、认识自我类 1、自我评价一下你自己,最大的优点以及最大的缺点,另外你的人生规划是什么? 答:我热爱生活,积极看待人生,对于很多东西都有旺盛的求知欲,愿意从任何人身上学习我不懂的东西,我也非常喜欢交朋友,乐于在一个团结友好的大团队之中开展工作。总的来说,热情,好学,以及良好的沟通协调能力是我的最大优势。当然我也有很多缺点,由于年龄的关系,我看一些问题不够深入,有时候未免做事情未免急躁,不过我能够虚心听取意见,相信在开展工作之时,能够发挥我的特长并且出色完成任务。 2、如果本单位无法给你解决户口问题,但是其他条件都能满足你,你是否还会来本公司工作? 答:我很喜欢贵单位,对于单位能够在各个方面最大程度的证明我的价值表示衷心的感谢。户口是我比较关注的问题,如果单位能够尽可能的帮助我解决这个后顾之忧,那么我就能够保证全心全意的投入到工作之中来,如果单位暂时有困难,我也表示理解。毕竟事业的发展空间对于我来说才是最重要的。我会好好权衡。

3、看你的简历中得知你有在大公司作intern的经历,为什么你在找正式工作的时候来我们这样一家小公司? 答:大公司有大公司的优势,小公司也有小公司的好处。对于一个刚毕业的学生来说,我需要学习的地方很多,而最最急需掌握的是独立处理问题的能力和承担一个项目的经验.在大公司中由于人员组织结构的复杂庞大以及井然有序,每个人各司其职,往往长年累月做的都是重复性的相同工作,难以接触到自己职责之外的事情,而小公司因为部门少,人事关系相对简单,每个人在挽成自己的本职工作之外,还有很多机会接触别人做的东西,这样只需要在短时间内就可以锻炼成为一个"多面手".有了在小公司的工作经验,不需要很长时间,我想我就可以独立策划一个项目并且出色的完成它.还有一点,大公司创造利润之后?配到每个员工头上的红利其实并不多;而小公司的利益都会切实的落实到每个职工身上,是那种所谓你能看得到摸的着的好处,这一点也是相当吸引我的。 4、请问你是否有男友?他/她和你不在一个城市工作,你如何解决这个问题? 答:是的,我有一个感情很稳定的男友,并且确实我们暂时不在一个地方。从我个人来讲,我确实很希望能有机会两个人在一个地方,不过我不认为这将是我事业前途的羁绊。如果我为了这份感情放弃一份我十分满意的工作,那将会令我和男友之间的?系变得非常沉重。这不是我所希望看到的,也不是我男友所希望看到的。我们希望能够各自拥有各自事业的发展空间,双方都是独立出色的个体,这将会使我们更加欣赏对方。

微软面试题及答案

微软面试题及答案https://www.doczj.com/doc/3210610712.html,work Information Technology Company.2020YEAR

微软面试题及答案(很需要开放性思维啊) 第一组 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢( 注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑) 6.在9个点上画10条直线,要求每条直线上至少有三个点 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次都分别是什么时间你怎样算出来的

8.怎么样种植4棵树木,使其中任意两棵树的距离相等 第二组 1.为什么下水道的盖子是圆的 2.中国有多少辆汽车 3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁 4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么 5.多少个加油站才能满足中国的所有汽车 6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下

25道常见算法面试题

Problem 1 : Is it a loop ? (判断链表是否有环?) Assume that wehave a head pointer to a link-list. Also assumethat we know the list is single-linked. Can you come up an algorithm to checkwhether this link list includes a loop by using O(n) time and O(1) space wheren is the length of the list? Furthermore, can you do so with O(n) time and onlyone register? 方法:使用两个指针,从头开始,一个一次前进一个节点,一个前进2个节点,则最多2N,后两个指针可以重合;如果无环,则正常停止。 同样的,可以找到链表的中间节点。同上。 Problem 2:设计一个复杂度为n的算法找到链表倒数第m个元素。最后一个元素假定是倒数第0个。 提示:双指针查找 Problem 3:用最简单的方法判断一个LONG整形的数A是2^n(2的n次方)提示:x&(x-1) Problem 4:两个烧杯,一个放糖一个放盐,用勺子舀一勺糖到盐,搅拌均匀,然后舀一勺混合物会放糖的烧杯,问你两个烧杯哪个杂质多? 提示:相同。假设杂质不等,那么将杂质放回原杯中,则杯中物体重量必变化,不合理。

Problem 5:给你a、b两个文件,各存放50亿条url,每条url各占用64字节,内存限制是4G,让你找出a、b文件共同的url。 法1:使用hash表。使用a中元素创建hash表,hash控制在适当规模。在hash中查找b的元素,找不到的url先存在新文件中,下次查找。如果找到,则将相应的hash表项删除,当hash表项少于某个阈值时,将a中新元素重新hash。再次循环。 法2:对于hash表项增加一项记录属于的文件a,b。只要不存在的表项即放入hash表中,一致的项则删除。注意:可能存在很多重复项,引起插入,删除频繁。 Problem 6:给你一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的兄弟单词。现在给你一个字典,用户输入一个单词,让你根据字典找出这个单词有多少个兄弟单词。 提示:将每个的单词按照字母排序,则兄弟单词拥有一致的字母排序(作为单词签名)。使用单词签名来查找兄弟单词。 Problem 7:五桶球,一桶不正常,不知道球的重量和轻重关系,用天平称一次找出那桶不正常的球。

经典面试题及答案分析

经典面试题及答案分析 人事主管最常用的面试题和最喜欢的答案 咨询题1: 假如我录取你,你认为你在这份工作上会待多久呢? a?这咨询题可能要等我工作一段时刻后,才干比较具体地回答。 b?—份工作至少要做3年、5年,才干学习到精华的部分。 c?那个咨询题蛮难回答的,可能要看当时的情形。 d?至少2年,2年后我打算再出国深造。 解答:挑选 b 最多, a 次之。 b 的回答能充分显示出你的稳定性,只是,这必须配合你的履历表上,之前的工作是否也有一致性。a的回答则是特别实际,有些人事主管因为观赏应征者的坦诚,可以同意如此的回答。 咨询题2:除了我们公司之外,你还应征了其它哪些公司呢? a?除了向贵公司如此的计算机外设产品公司外,我还应征了x饮料公司、x软件设计公 司及x化工公司。 b?因为是经过人才站,因此有不少公司与我联络,别胜枚举。 c?由于我只对计算机公司较感兴趣,所以除贵公司外,我还应征了x及x公司。 d?我别是很积极地想换工作,这半年多来陆陆续续寄了一些履历,公司名字别太记得。 解答:最理想的回答是c。c的回答能够显示出应征者的目标明确,关于自己的下一具工作应该在哪里,考虑得很清晰。 咨询题3:你希翼5 年后达到什么成就? a. 做一天和尚敲一天钟,尽人事听天命、顺其自然。 b?依我的灵巧及才能,晋升到部门经理是我的中期目标。 c. 自己独当一面开公司。 d. “全力以赴”是我的座右铭,希翼能随着经验的增加,被给予更多的职责及挑战。解答: 最理想的回答是d。 咨询题4:假如你离开现职,你认为你的老总会有什么反应? a. 很震惊,因为老总对我就是很信赖,我就如同他的左右手一样。 b. 还好吧,他似乎内心也有数,反正公司如今也别忙。 c. 他似乎适应了,反正他手下的人来来去去已是司空见惯。 d. 我想他一定会生气地破口大骂,他是一具相当情绪化的人。 解答:最理想的回答是a。面谈者想借此了解你和前(现)任主管的相处情形,以及你在主管心目中的地位怎么? 咨询题5:你什么原因想来我们公司工作? a. 要紧是这份工作的内容很吸引我。 b. 贵公司在业界颇出名的,听说治理也很人性化。 c. 我的大学同学在贵公司会计部工作,是他建议我来应征的。 d. 贵公司所处的产业,以及在业界的声誉、工作性质,都很吸引我。解答:最理想的回答是d。

微软面试100题

微软面试100题 1为什么下水道的井盖是圆的? 答案-1.节省材料 2.方便运输 3.方便安装 4.美观 5.受力均匀 2美国有多少辆车?(一个常见的类似问题是:美国有多少家加油站?) 答案:美国有多少人?这些人里又有多少人会开车?而会开车的人里又有多少有这样的经济能力可以购买汽车?可以购买汽车的人里是不是都已经买了?这些问题解决了 3美国有多少个下水道井盖? 4你让某些人为你工作了七天,你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分? 答案是:把金段切割成1/7、2/7、4/7 第一天给工人1/7 第二天给工人2/7 工人返回1/7 第三天给工人1/7 第四天给工人4/7 工人返回1/7+2/7 第五天给工人1/7 第六天给工人2/7 工人返回1/7 第七天给工人1/7 5一列火车以每小时15英里的速度离开洛杉矶,朝纽约进发。另外一列火车以每小时20英里的速度离开纽约,朝洛杉矶进发。如果一只每小时飞行25英里的鸟同时离开洛杉矶,在两列火车之间往返飞行,请问当两列火车相遇时,鸟飞了多远? 答案:你这么想: 鸟飞了多远呢?鸟的飞行速度一直是每小时25英里不变的,那么只要能知道鸟飞了多久,就能知道鸟飞了多远。 那么鸟飞了多久呢?鸟从最开始一直飞到两列火车相遇的时候。 那么两列火车要多久才能相遇呢?这取决于洛杉矶到纽约有多远。 理论中,纽约到洛杉矶有大约3000英里,两列火车要相遇需要3000除以(15+20),也就是85.7小时。在这段时间里,鸟飞了2142.5 英里。 实际中,一来铁路不一定是直的(确切的铁路距离无法知晓),二来火车路上走走停停还可能晚点,三来两辆火车不一定就会彼此相遇,最后是鸟一路上也需要花些时间吃喝拉撒——所以答案还真不好说。

最受欢迎的前80个经典人工智能面试题目

最受欢迎的前80个经典人工智能面试 题目 在这里,我们整理了一份人工智能面试问题列表,以帮助您清除AI面试。我们提供了AI编程语言和应用程序,图灵测试,专家系统,各种搜索算法的详细信息,游戏理论,模糊逻辑,归纳,演绎和归纳机器学习,ML算法技术,朴 素 贝叶斯,Perceptron,KNN,LSTM,自动编码器等。 人工智能面试问题的最佳答案 1.强人工智能和弱人工智能有什么区别? 2.什么是人工智能? 人工智能是计算机科学领域,其中研究并尝试在机器/系统上复制人脑的认知功能。如今,人工智能已广泛用于各种应用程序,例如计算机视觉,语音识别,决策,感知,推理,认知能力等。

3.列出AI的一些应用。 ?自然语言处理 ?聊天机器人 ?情绪分析 ?销售预测 ?自动驾驶汽车 ?面部表情识别 ?图片标记 5.河内塔是什么? 河内之塔(Tower of Hanoi)是一个数学难题,它说明了如何将递归用作构建算法以解决特定问题的一种手段。使用AI中的决策树和广度优先搜索(BFS)算法,我们可以求解河内塔。 参加伦敦的人工智能课程,以清楚地了解人工智能! 6.什么是图灵测试? 图灵测试是一种测试机器匹配人类智能的能力的方法。机器被用来挑战人类的智能,当它通过测试时就被认为是智能的。然而,在没有充分了解如何模仿人类的情况下,机器可以被视为智能的。

7.什么是专家系统?专家系统的特征是什么? 专家系统是一个人工智能程序,具有关于特定区域以及如何利用其信息做出适当反应的专家级知识。这些系统具有替代人类专家的专业知识。它们的特征包括: ?高性能 ?足够的响应时间 ?可靠性 ?易懂 8.列出专家系统的优点。 ?一致性 ?记忆 ?勤勉 ?逻辑 ?多种专业知识 ?推理能力 ?反应快 ?自然无偏 9.什么是A *算法搜索方法? A *是一种计算机算法,广泛用于查找路径或遍历图形的目的,以便找到称为节点的各个点之间的最佳路线。

经典面试题分类及答案

一、人际关系题。 例:如何处理与同事(领导)的分歧? 由于每个人的观点、立场、经验阅历、看待和分析问题的方式不同,发生争执是一种正常现象,我会理智的处理好这件事情。 第一,从大局出发,以工作为重,处以公心,冷静对待,不要为此闹情绪,影响工作,也不要闹矛盾,影响团结,首先要塌实做好自己的本分工作,完成组织领导交给我的任务。 第二,及时反思。“横看成岭侧成峰,远近高低各不同”,许多时候,双方的分歧只是看问题的角度不同而已,因此,并不一定我的看法是对的,别人的看法就一定是错的。我会仔细分析对方观点中的可取之处,反思自己观点考虑不周的地方,对自己的观点有一个客观正确的认识。 第三,适时沟通。根据对方的性格,我会选择合适的时间地点方式主动与对方进行真诚的沟通,把矛盾消灭在萌芽状态,保证工作顺利开展。如果对方是性格开朗的类型,我会采用直言建议的方式;如果对方是内向严肃的性格,我会通过委婉的方式或者通过第三方来间接表达自己的看法。 总之,除了明显的违法犯罪行为要坚决抵制以外,我会本着组织性、纪律性的原则,从大局出发,团结同事,求同存异,取长补短(认真执行领导的指示),维护好单位内部的和谐关系,始终使单位充满凝聚力、战斗力。 二、应变能力题 例:一份机密文件不见了,当你准备向领导报告。第2天却又出现在你的抽屉里。你如何处理这件事? 首先,我在平时的工作中还是比较细心谨慎的,以前没有发生过也会尽力避免以后发生此类事件。但如果发生了像题目中的类似事件,我会冷静的妥善处理好: 第一、我还是会及时向领导报告,详细说明整个情况,对于自己的失职作深刻的检讨。 第二、追查资料被何人传阅过,有什么人接触过资料,防止资料内容落入别有用心的人,并及时向领导汇报有关进展情况。 第三、总结经验教训,自我反省,提高对保密工作的认识,严格按照单位的资料归档管理制度办理,防止此类事件再次发生。 总之,作为一名公务员,面对突发事件,要时刻保持头脑清醒,科学分析,准确判断,果断行动,整合资源,调动各种力量,有序应对突发事件,尽量将损失降到最低。 三、活动组织题 例:领导让你组织某次活动,你怎么做? 领导交付给自己这项工作任务,是对自己工作能力的信任,也是我锻炼能力提升自身素质的机会,我一定会按照以下几个步骤认真仔细的完成这项任务: 第一,制定计划方案。“凡事预则立,不预则废”,我会在掌握实际情况的基础上有针对性地拟定一个详细的计划方案,根据活动的主题、性质,对活动的内容、方式、时间、地点、参加人员、经费预算等方面进行合理的安排。然后将该方案上报领导,请领导指正和批示。 第二,实施计划方案。计划方案得到批准后,我会先将有关工作人员召集起来开一个协调会,进行任务分配、人员分工,切实将责任落实到人。活动开始后,总体把握好活动,协同有关工作人员采取多种方式调动参与人员的积极性和主动性,及时纠正活动过程中与原计划方案有偏差的地方,冷静处理意外事件,并及时向领导汇报互动情况,让领导了解活动总体进程。 第三,及时总结。活动结束后,首先做好善后事宜。及时对整个活动进行回顾,总结经验教训,形成书面材料,向领导汇报。此外,我还会拿出当初的计划方案,结合总结分析需要加以完善的地方,以便今后更好的完成类似任务。 总之,经过周密的计划,认真的实施,即使的总结,我相信一定能保质保量地完成领导交给我的任务。 四、社会现象分析题 例:有人说:“一把手绝对真理,二把手相对真理,三把手没有真理”。你如何评价这句话? 我认为“一把手绝对真理,二把手相对真理,三把手没有真理”这句话是片面的,我会辨证的看待这个问题: 第一、这句话反映了当前我国个别地区个别部门确实存在的一种“官本位”的思想,即在单位内部以职位高低定言论可信度的偏颇现象。 第二、这种现象违背了实事求是,一切从实际出发的工作原则,不利于单位决策的民主化、科学化,对单位工作的开展和事业的发展都是不利的。 第三、我们要努力改变这种现象,政府部门应该建立健全完善的监督约束机制,多多利用集体的能力,而不以领导个人的价值趋向为唯一标准。可喜的是,党和政府对这个问题已给予了高度重视,出台了相关的政策措施,如推行民主集中制、听证制等,已取得了明显的成效。 第四、当然作为党和政府选定的一把手,一般社会阅历,处事经验比之其他人更为丰富,所以在领导班子成员之间,有适当的主次,维护一把手的权威,有利于增强领导班子战斗力,有利于提高行政效率。

微软面试题及答案-(很需要开放性思维啊)

第一组 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻? 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水? 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问? 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑) 6.在9个点上画10条直线,要求每条直线上至少有三个点? 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的? 8.怎么样种植4棵树木,使其中任意两棵树的距离相等? 第二组 1.为什么下水道的盖子是圆的? 2.中国有多少辆汽车? 3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁? 4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么? 5.多少个加油站才能满足中国的所有汽车? 6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下? 7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出? 8.你怎样将Excel的用法解释给你的奶奶听? 9.你怎样重新改进和设计一个A TM银行自动取款机?

阿里校园招聘历年经典面试题汇总:算法工程师

阿里校园招聘历年经典面试题汇总:算法工程师 (1)、jvm 原理 (2)、minor GC 与 Full GC (3)、HashMap 实现原理 (4)、java.util.concurrent 包下使用过哪些 (5)、concurrentMap 和 HashMap 区别 (6)、信号量是什么,怎么使用? (7)、阻塞队列了解吗?怎么使用? (8)、JAVA NIO 是什么? (9)、类加载机制是怎样的 (10)、什么是幂等性 (11)、有哪些 JVM 调优经验 (12)、分布式 CAP 了解吗? (13)、hdfs怎么添加Datanode,添加后hdfs会有什么操作? (14)、Hbase 跟关系数据库对比优缺点?为什么 Hbase 索引速度快 (15)、Hbase 大压缩与小压缩区别 (16)、Hive 与 Hbase 的使用场景 (17)、简单说说Spark功能,spark 与hive有无依赖关系? (18)、zookeeper 有什么应用场景,怎么选举的?3 个节点挂掉一个能正常工作吗? (19)、Hbase 中 zookeaper 作用 (20)、Hbase 写操作什么时候返回 (21)、mysql 有哪些存储引擎?各自特点 (22)、用过哪些设计模式?怎样实现线程安全单例模式? (23)、用过哪些RPC框架? (24)、什么是AOP? (25)、决策树算法怎么实现的? (26)、java垃圾回收会出现不可回收的对象吗?怎么解决内存泄露问题?怎么

定位问题源? (27)、终止线程有几种方式?终止线程标记变量为什么是 valotile 类型?(28)、用过哪些并发的数据结构? cyclicBarrier 什么功能?信号量作用?数据库读写阻塞怎么解决? (29)、乐观锁与悲观锁,怎么实现乐观锁? (30)、开发过分布式框架?怎么实现分布式事务? (31)、spark streaming与storm区别? (32)、找到最大子数组的 start,和end下标 (33)、用过 CDH中什么任务调度? (34)、spark streaming时间间隔设置很小会出现什么状况? (35)、搜索引擎了解多少?你认为搜索引擎的难点在哪里? (36)、RPC 了解吗?怎么监控 RPC 状态,找出出现问题的 RPC 连接?(37)、spring 框架了解多少? (38)、flume应用场景 (39)、找出一串字符中第一个不重复字符的下标。 点击查看详细面经〉〉〉〉〉〉〉〉〉〉〉〉 更多精品干货>>>>>>>>>>> 更多阿里机器学习/数据挖掘经典面试题 其他名企机器学习/数据挖掘经典面试题

相关主题
文本预览
相关文档 最新文档