程序员面试攻略programming interview exposed
John mongan编
杨晓云等译
机械工业出版社
1.
求职过程
2.
程序设计面试题的解答思路
对面试题不清楚的地方一定要问清楚,在编写代码的过程中应随时向考官解释你正在做的事情,写完程序后应该找例子验证自己写出来的代码,对解决方案的复杂性进行分析
3.
链表
P21头指针的修改,用c语言
//无法正确改变父函数里的指针
Int badinsert(element *head){
element *newelem;
……
head=newelem;
……
}
//正确的代码
Int insert(element **head){
element *newelem;
……
*head=newelem;
……
}
P49编写函数判定链表是否是循环链表
用快慢不同的指针对链表进行遍历,如果快指针到达链表尾则是非循环的,如果快指针超过慢指针,则是循环链表。
使用快慢指针判断的好处是:可以防止尾指针不是直接连到头指针,而是它之后的指针,那么这种情况下传统的以头指针作为基准判断是否有循环的方法就可能陷入死循环。
4.
树和图
5.
数组与字符串
6.
递归算法
面试例题 电话键单词
请编写一个函数,它以一个 7 位数的电话号码为输入,
把各种可能的 “ 单词 ” <
请编写一个函数,它以一个 7 位数的电话号码为输入,
把各种可能的 “ 单词 ” <