剑指offer算是一本比较经典的面试书籍了,主要从面试技巧到编程能力两个方面,给很多应届求职的学生很多启发。本科的时候就看过这本书,但是没有怎么实践,主要是当时没有找工作,现在又要找工作了,所以把这本经典翻翻。
因为最近大半年都是在用Java,工作也是Java研发相关的,所以就用Java实现了一下书中的程序。平均每天5-10题,花了一个星期。因为书比较经典,而且上面的面试题也是可以在网上找得到的,所以很多题都是有思路,但是即使是这样,在实际写的时候还是很慢,断断续续拖了这么久,而且还没有达到手写的水平。
虽然面试官们都不建议为了找工作去突击刷题或者去记忆知识点,但是刷过一遍之后,编程能力确实有提升,而且书中有些题的思路还是很巧妙的。如果不是单纯的训练,自己基本是想不到,比如第10题二进制中1的个数,第26题复杂链表的复制以及第33题把数组排成最小的数。练习的过程中也发现了书中代码的一些bug,比如第36题数组中的逆序对。
不论怎样,这样的练习总是有益的,也看了一些面经说是剑指offer上面的题目都需要达到手写的水平。最近也参加了两家公司的面试,确实如此,永远不要高估自己的编程能力,不会白板或者手写,极大的可能会被刷掉,毕竟这些公司实在是重视基础能力。
就这样,接下来会把写的Java版本的代码发出来,自己在写的时候也做了一些小的测试,但是毕竟有局限。所以贴出来,交流和讨论。有bug或者不妥的地方可以交流交流,共同进步