概述
刚体验了一下微软的面试,总共历时1个半小时,结果估计悲剧了。问到的和算法相关的问题有以下几个:
1、字符串循环移位程序
编程实现,比如shift("abcde",2), 输出“deabc”.
难点在于要求原地移位,空间复杂度为O(1),时间复杂度不做要求
2、链表中删除一个结点
void delete(ListNode* pHead, ListNode* p)
这里链表可能不是正常的,比如存在环,就是有某个结点指回到前面出现的结点去了,
存在环且查找节点p失败时必须判断是否出现环,否则程序可能死循环,要求O(1)空间复杂度
3、字符串中查找子字符串的位置
int find(char *str1, char *str2)
这个问题的后续问题是请你写出你能想到的测试用例,
主要是考察思考的缜密度,对各种可能出现情况的考虑。
有兴趣的同学可以研究一下。
转载于:https://www.cnblogs.com/jason-yang/archive/2012/04/19/2457368.html
最后
以上就是沉默悟空为你收集整理的微软面试记录的全部内容,希望文章能够帮你解决微软面试记录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复