其实每个工程师都讨厌Bug、代码不整洁、性能太差、用户界面不人性化等,这些都是一些技术细节,是可以慢慢体会和提高,总能找到答案去改进的。但在工作中,我应该学习和使用什么样的技术?为什么要自动化测试?如何搭建一个产品,看起来比较靠谱?我怎么去选择一份工作?如果我在一家大公司工作,如何跳槽到创业公司?我如何谈判取得更多的薪金或奖金?什么是股票激励?这些问题倒是更棘手,本文将给出一些介绍和辅助工具。
《程序员面试白皮书》是一本我希望自己在大学就能看到的一本书。在我读大学的时候,跟很多同学一样也走过不少弯路:艰难地啃着计算机必修课,被里面的指针和对象搞的晕头转向,对i++和++i区别死活不理解,为操作系统的调度策略而抓狂,很难对专业书产生兴趣,只是想着去应付考试和学分。当我们毕业后,虽然有了计算机学位和实际工作经历,但其实还是不知道最想得到什么。我当时心中有个情节,就是希望能去最好的公司,比如Google,因为听说那里面都是最聪明的人,有着最好的待遇和福利,做着最有影响力的事情。当我鼓起勇气去尝试的时候,我失败了,并且要进入6个月的冷藏期(失去在一段时期内继续面试的机会)。而我发现当时的面试表现是那么的稚嫩和糟糕,我开始懊恼,开始反省,开始重新准备,这样才有了我下一个面试机会和其他的Offer。当然如果一切可以重新再来,我可以更有自信更好地发挥我的能力,也许当时的理想公司就会给我Offer。
点击图片购书
整个招聘流程主要如下:申请某个公司你感兴趣的职位,投出你的简历。HR从简历库中筛选符合要求的简历,安排面试。面试主要分为电话面试和现场面试,如果面试表现优秀,HR会同你讨论待遇、福利、起始时间等具体信息。针对上述流程,让我们一一分析其中的关键环节。