一个程序员的求职故事.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个程序员的求职故事      欢迎阅读求职故事之程序员希望本文对大家有帮助更多资讯关注求职指南!      一个程序员的求职故事      我曾经也参加过一些大大小小的公司笔试、面试牛掰如阿里百度腾讯犀利如GoogleMircosoft盛大研究院无一例外均将我秒杀让我一度怀疑自己是否是程序员的料幼小的心灵从那时起留下了巨大的阴影当然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所说的编码后试着从时间、空间两个维度去优化你所写的程序      四      练习面试问题选择一本面试相关的书例如《Crackingthecodinginterview》亲手练习一下书中的题目在纸上书写或在IDE中编写都行(PS:很多面试官都喜欢让你在纸上写程序所以有意识的练习练习吧不要太依赖IDE了)在解答相关面试题时注意不断改进、优化你的解法例如将时间复杂度从n*n优化到nlogn      五      练习在白板上分析、解决问题并能够将你解决问题的思路清晰的表达出来(这一点要求比较高尤其对一些“羞射”的程序员们)在解决某一个给定问题时对于你给出的解决方案你得有充分的理由你为什么选用这种数据结构这种算法来解决这个问题      上述五大点是真的很重要我自己曾经在这上面就犯了眼高手低的错误只亲手实现了其中的一部分在只有一个月时间的情况下时间安排如下:      1)最多用1.5周的时间完成第一点和第二点      2)至少花一周的时间彻底搞懂你尚未明白的问题      3)然后剩下的时间在白板上编码实现吧   

文档评论(0)

137****1239 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5320044334000004

1亿VIP精品文档

相关文档