我要投稿 投诉建议

求职故事之程序员

时间:2021-01-22 15:00:22 求职故事 我要投稿

求职故事之程序员

  为大家推荐的是一位程序员的求职故事,欢迎阅读参考。

求职故事之程序员

  我曾经也参加过一些大大小小的公司笔试、面试,牛掰如阿里百度腾讯,犀利如Google,Mircosoft,盛大研究院,无一例外,均将我秒杀。让我一度怀疑自己是否是程序员的料,幼小的心灵从那时起,留下了巨大的阴影。当然,N次大公司的面试失败以后,归结成两条经验教训:缺乏笔试面试的技巧,非科班出身(实质是计算机知识不成体系)。

  关于面试笔试,就六个字:技巧+实力+运气。

  本文只涉及四个字:技巧+实力。当然,本文的技巧,不同于一般意义的“技巧”。

  面试笔试是需要技巧的

  面试是需要技巧的,这一点没有人否认。笔试、面试时有相当比例的题目的是跟程序员相关,但又没那么紧密相关的东西。比如考察逻辑思维能力、抽象思维能力的题目,大公司尤其注重这一点,感觉有点测试智商的味道。好吧,我承认,我的智商有时候不够用。不可否认有极个别的聪明人存在,这些天才,思维活跃,面对一些极品难题,他们都能佛挡杀佛。但事实上大部分人的逻辑思维能力,都是通过平时有意识的锻炼出来的,而不是与生俱来的。

  我想说的是:只要你不笨,只要你有意识去锻炼自己这方面的能力,这个东西其实跟你的知识体系的建立是一样的,得靠积累。如果你没事只知道刷微博,刷朋友圈,你的“智商”也永远是停留在那个水平。

  曾遇到一个面试官问了这么个题目,至今印象深刻,分享给大家,看看自己的脑袋还够用不。

  题目:

  给你两个一模一样的玻璃球,已知这种玻璃球,从一栋总共有一百层楼的高楼的某一层楼X扔下来,刚好破碎(即在X层以下不会摔碎,在X层以上均会摔碎)。让你用最少的次数找出这个临界楼层。(注意:你只有两个玻璃球,所以只有两次蛋碎的机会。并假设,每扔一次球,如果球没碎,它的坚硬程度不发生改变)。

  最差答案:

  一种最差的解法如下:从第一百层楼开始扔玻璃球,如果没有摔碎,则跑到第99层楼扔,以此类推,最坏的情况是,在第一层楼扔的时候球才摔碎。因此最大需要扔100次才能找出临界楼层。(这种解法,我们只用了一个玻璃球,另外一个玻璃球还没用上啊!)

  面试笔试是需要实力的

  程序员面试笔试,考察的技术相关的东西主要有:编程语言、算法、设计模式、操作系统、项目经验等等。基本功扎实了,面试笔试就有底气了,如果再多点实际工程经验,那么面试对你来说,就是五个字:那都不是事

  废话说了这么多,进入本文主题,如何用一个月的时间去准备google的技术面试??

  这个问题已经被问过无数多遍,也被无数人回答过。我结合自身的经验教训,来梳理总结一下。

  一

  1.1过一遍常用的数据结构:链表、二叉树、堆树 (Tree+Heap)、(红黑树、AVL)(可选)。队列、堆、栈、hash表。

  1.2 研究一下上述数据结构在你熟悉的编程语言中是如何实现的。例如,如果你熟悉Java,可以学习下HashMap、LinkedHashMap、TreeSet、HashSet等等这些常用数据结构的实现。

  1.3自己动手编码实现这些数据结构,而不是仅仅写出伪代码就完事了。

  二

  2.1过一遍你课堂上学过的经典算法:各种排序算法、图的`遍历算法、最短路径算法等等。

  2.2 知道怎么求一个算法的时间复杂度。

  2.3 写代码时,有意识的关注程序的空间复杂度,这点在实际工作中很有用。因为内存很多时候会不够用。

  三

  3.1 用你熟悉的编程语言实现第一、第二两部分。在编码实现的过程中,试着不借助任何参考资料来完成。

  3.2 在完成3.1所说的编码后,试着从时间、空间两个维度去优化你所写的程序。

  四

  练习面试问题。选择一本面试相关的书,例如《Cracking the coding interview》,亲手练习一下书中的题目,在纸上书写或在IDE中编写都行。(PS:很多面试官都喜欢让你在纸上写程序,所以,有意识的练习练习吧,不要太依赖IDE了)。在解答相关面试题时,注意不断改进、优化你的解法。例如,将时间复杂度从n*n优化到nlogn。

  五

  练习在白板上分析、解决问题,并能够将你解决问题的思路清晰的表达出来。(这一点要求比较高,尤其对一些“羞射”的程序员们)。在解决某一个给定问题时,对于你给出的解决方案,你得有充分的理由。你为什么选用这种数据结构,这种算法来解决这个问题。

  上述五大点是真的很重要,我自己曾经在这上面就犯了眼高手低的错误,只亲手实现了其中的一部分。在只有一个月时间的情况下,时间安排如下:

  1)最多用1.5周的时间完成第一点和第二点。

  2 )至少花一周的时间彻底搞懂你尚未明白的问题。

  3 )然后剩下的时间,在白板上编码实现吧

【求职故事之程序员】相关文章:

求职礼仪故事之电话求职技巧12-15

程序员求职简历11-01

程序员求职简历范文03-08

程序员求职个人简历08-07

程序员求职简历表格02-16

程序员求职信封面06-06

求职经验之求职信08-02

求职故事:我的求职故事06-23

程序员求职信英语范文08-03