【第一章:合理规划】1.2 粮草资源-秋招中对你有帮助的资源

1 引言

  作为学生踏入社会的一条必经之路,秋招的重要性不言而喻。但我们不能只是闷着头走路,而应该对自己的路线做好规划,积极寻找更便捷的交通方式,才能更快、更好的抵达终点。
  
  求职所需的各种技能,就像我们曾经的语数外物化生等科目一样,掌握学习方法,才能提高学习效率。下面,我就针对不同的知识,推荐一些有用的书籍、课程,并在最后介绍一些有帮助的求职资源和渠道。

图片说明

  

2 基础知识补足

  在备战秋招时,我们首先要保证自己掌握了扎实的基础知识和技能。以C++开发岗为例,我在这里整理了一张技能图,概括了C++开发岗求职中应该注意的重点内容,对于Java、Python等语言来说大同小异。
  

图片说明

  下面,我就针对每个技能,推荐一些优秀的书籍、视频等资源,这些资源都是经过无数前辈亲身验证过的。这篇专刊并不会对每个技能的细节展开讲解,事实上,单单讲C++基础就能另开两个专刊了。对于这些技能,我会从开发岗对其要求程度出发,介绍笔试、面试必备的重点,提升你的复习效率。
  

2.1 C++基础

  投递C++开发岗,必然要对C++基础深谙于心,我这里将C++基础分为基础语法、C++新标准、模板及对象模型、编译原理及内存管理等几个方面。
  

2.1.1 基础语法

  对于基础语法,《C++ Primer》是一本经典之作。几乎每个开发者案头上都会放着一本《C++ Primer》,这是他们的字典,也是他们的信仰。
  
  其中不少章节特别提出的tips,往往都能在笔试和面试中遇到。如sizeof的原理、const限定符位置的差别等,一般五次笔试就能遇到三次。而后续章节介绍的智能指针、虚函数等则是面试官的最爱。可以说通过这本书能补充不少笔试、面试知识点。
  
  这本书最大的缺点就是过于厚重,最好能在求职前半年就开始读。同时,这本书适合有一定开发经验的人,否则可能看三章就因为看不懂而放弃。
  

2.1.2 C++新标准

  对于C++新标准,《C++ Primer》中已经介绍了诸如容器、智能指针等内容,能帮助你学习。对于智能指针、lambda表达式,面试官多是询问你对其的了解,但对于STL中的容器,面试官关心的是你对其底层具体实现的掌握程度,这个时候就需要另一本神书《STL源码剖析》了。
  
  正如其名,《STL源码剖析》从底层源码出发,对每个容器的实现原理进行了详细的介绍。学习完这本书的主要内容之后,面对面试官提出的STL相关问题,你基本上都能给正确而合理的答案。比如我遇到不下20次的“vector的扩容过程”、“map和hash_map的差别”、“STL的内存管理策略”等,这些问题在这本书都能得到解答,并且能从原理上让你理解,在回答面试官问题时不会让你产生“背书”的感觉。套用这本书的一句话:“源码之前,了无秘密”。
  
  这本书主要分为几个部分,其中容器相关内容是重点,最好能在求职前三个月开始阅读,尽量保证阅读两遍以上序列式容器和关联式容器这两个章节。
  

2.1.3 模板和对象

  对于C++模板和对象类型等稍微高级的内容,我这里要首先推荐两本书,名为《Effective C++》和《More Effective C++》,这两本书着眼于细节处,针对C++的若干细小技术点进行介绍。
  
  粗看上去,这两本书的内容并不像其他教程书一样系统,每个小节之间几乎没有上下文的联系,但这两本书的神奇之处就在于,其中每个点都可以直接被面试官拿出来提问。如《Effective C++》中的条款9:绝不在构造和析构过程中调用virtual函数,条款13:以对象管理资源,这些都是针对C++基础的难度稍高的问题,而这些问题恰恰能够说明你对C++的掌握程度是了解还是精通。
  
  对这些问题的熟练掌握,能够让你在面试的时候滔滔不绝,而如果你能成功回答两到三个有难度的问题,面试官就基本上可以判断你拥有良好的C++基础了。
  
  除了这两本书,另一本值得推荐的书就是《深度探索C++对象模型》,这本书从C++面向对象特性的底层机制入手,能够让你对编译器所做的事情有更多的认识,也能够帮助你提升对C++的掌握程度,在与部门技术经理等后段的面试中能够有效丰富你的谈资。
  
  作为C++中稍高级的内容,你可以根据自身情况决定对这三本书的学习程度,从性价比角度来说,对于一般公司的开发岗位,即使不读这三本书也不会对你产生多少影响,但如果你渴望大厂special offer,我建议你好好研读一下这三本书。
  
  对于编译原理和内存管理,其实在上面提到的几本书中都有相应涉及,如《STL源码剖析》就介绍了容器的内存管理。针对于绝大部分的同学,我建议对编译原理的了解应该划重点学习。如编译、链接等过程的认识,基本上面试主要涉及的问题也就只有这些。如果为了掌握这部分知识而去啃《编译原理》,是一种性价比不高的学习行为,不适合分秒必争的秋招。
  

2.2 算法与数据结构

  其实算法和数据结构在很多时候都是糅合在一起的,一个效率高的算法往往也要借助特殊的数据结构实现。本质上,都是一种解决问题的方法。
  
  以生产者消费者模型常用的双缓冲队列为例,看似是一个数据结构,但这同样是一个解决生产者消费者模型互斥读写的有效算法。STL中实现了许多算法,但倘若作为数据结构的vector不含迭代器,那很多算法就完全不可用。所以在复习算法和数据结构时,要用一种统一的视角去理解。
  
  如果是对算法与数据结构完全不熟悉的小白,我推荐一本有趣的《大话数据结构》,这本书以生动的语言和绘图把常用的数据结构和相关的算法都进行了详细介绍,包括链表、队列、树、排序算法、查找算法等。在涵盖尽量多的基础内容的同时,也有一些诸如计算复杂度等深层次的知识点。
  
  由于这本书属于基础书籍,所以我建议对其学习应该在求职前半年就开始,并不要求在看的时候就能够理解深刻每个知识点,因为许多抽象的数据结构可以通过做题,在实践中学习,能够更有效率。
  
  在对算法与数据结构稍微熟悉的基础上,就可以开始做题了,这里要隆重介绍这本互联网求职神书《剑指offer》。《剑指offer》上有许多实际的笔试题,同时给了高效的解法,这是一本必须至少刷两遍以上的书。许多面试官在出笔试题的时候,经常从两大资源中寻找,其中之一就是《剑指offer》,可以说掌握了这本书上的六十多道题,就能够轻松应对很大一部分的面试题。现在牛客网提供《剑指offer》在线考试平台,可以很方便的检验自己的代码效率和正确率。
  
  对这本书的掌握要在求职前至少三个月开始,并且一定要刷两遍以上,保证自己对上面的每道题都能在最短的时间内用最佳算法解出来。
  
  掌握算法和数据结构的最好方式就是做题,除了《剑指offer》之外,刚刚还提到面试官还会参考另一个资源平台,就是LeetCode
  
  与《剑指offer》不同的是,LeetCode上的题整体难度较高,我个人感觉《剑指offer》中的题难度基本和LeetCode中的简单题相近,而LeetCode上还有大把的中等题和困难题,其中补充了动态规划、线段树、字典树等高阶题目。对LeetCode的掌握应该视自己的情况决定,在自己闲暇的时候可以作为一种乐趣来解上面的题目,但不要把此当作主要任务。
  

  当然,如果你的算法水平较高,并且有志向去字节跳动、快手等注重算法能力的公司,那LeetCode上的题目还是要好好的刷一刷。以字节跳动的面试为例,几乎全部由手撕代码构成,这个时候算法能力较差的同学基本上一面都很难通过。
  
  通过《剑指offer》、LeetCode和一些其他刷题方式,能够让你对算法与数据结构更熟悉,这个时候如果通过一些高级的系统教程,能够让你对其理解更加深入。我们对算法与数据结构的学习就是通过学习、实践、再学习的方式迭代进行的。这里要给大家推荐牛客网左程云老师的算法课程《牛客算法基础入门班》《牛客算法基础提升班》《求职算法真题精讲-中级班》《求职算法真题精讲-高级班》,同时可以搭配左老师的著作《程序员代码面试指南:IT名企算法与数据结构题目最优解》。
  
  我自己学习了入门班、提升班和中级班,在学习的过程受益匪浅。看高手编程是非常能提升编程能力的,能从上帮助你进步。左老师给我最深的印象就是其追求极致的态度,体现在对每道题的讲解时,他都会以最简洁有效的代码,辅以最精准的解释,让观众能够在不知不觉中就掌握大量算法与数据结构的

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

开发岗校招求职攻略 文章被收录于专栏

<p> 《开发岗校招求职攻略》。专刊覆盖六大主要内容,涵盖整个求职流程,包括求职规划、心态及定位、实习指导、简历制作、笔试准备和面试准备,共十七篇文章。用清晰的逻辑帮你梳理有价值的重点,将你可能遇到的问题娓娓道来,让你在比较短的时间学到有用的经验,在求职中如虎添翼、战无不胜,获得理想的offer。 本专刊购买后即可解锁所有章节,故不可以退换哦~ </p> <p> <br /> </p>

全部评论
请问看操作系统的课程(清华大学)或者unix高级编程时,所讲的代码需要看吗?有一些汇编挺繁琐的。
1 回复 分享
发布于 2020-08-03 20:18
加油冲冲冲!
点赞 回复 分享
发布于 2019-12-12 16:47
字节跳动
校招火热招聘中
官网直投
作者总结得很完善客观,是衷心之言,建议阅读学习。
点赞 回复 分享
发布于 2019-12-16 17:03
感谢
点赞 回复 分享
发布于 2020-03-17 08:24
非常棒
点赞 回复 分享
发布于 2020-04-06 22:41
可以提供你们整理的那本笔试面试圣经嘛
点赞 回复 分享
发布于 2020-09-03 19:35

相关推荐

08-28 12:37
已编辑
西南大学 Java
周述安:你微信设置下不能用手机号搜到。我只 之前投简历也遇到过。
点赞 评论 收藏
分享
09-15 15:22
东北大学 Java
hys404:你能约个凌晨三点的给我们开开眼吗?不会真的面吧
点赞 评论 收藏
分享
10 15 评论
分享
牛客网
牛客企业服务