大家好,我是小北。
对于 C 岗位面试来说,基本上语言层面考察候选人以下几个方面:
对于指针、内存的理解
对于运行时Runtime的理解
一些语法特性和关键字的掌握
C 11 的一些特性,比如智能指针
STL部分容器的算法和内存分配原理
下面👇细化一下这些具体的知识:
首先是语言的基础知识,一些关键字和实现原理等:
这本书基本包括了 C 11 的全部特性,最好把前面三部分:C基础、C标准库、类设计者的工具都看一遍,我当时花了一个多月断断续续看到了第16章模板那里。如果时间不够的情况下,不建议挨着挨着看了,一定要翻目录,挑重点的看。
包含 《Effective C 》、《More Effective C 》、《Effective STL》第一本是重点,光看《C Primer》缺少实践的话,大概率还写不出合格的 C 代码,而《Effective C 》就是通过 55 条非常具体的做法告诉你什么样才是符合 C 编码规范的,可以缩短你写出合格 C 代码的时间,减少踩坑,强烈推荐必读。
后面两本优先级稍低,可以有时间再读。
看完 Primer 和 Effective,你应该已经能够比较熟练的使用C了,但是还缺少对 C 底层实现机制的认识。比如虚函数表、成员变量布局等,同时对于 STL 库可能也仅仅停留在使用上。推荐的这两本可以分别完善你在 C 底层实现和 STL 源码、原理上的认识。而面试如果问 C 的比较深入的话,就会涉及 STL 源码和 C 一些底层机制。
以上书籍同时建议和侯捷老师的视频配合服用,效果更佳。直接在 B 站搜索「候捷 C 」即可,主要有以下几个系列(最新消息:目前公开视频网站平台几乎都已经下架了):
但是我预估,完整的将上述资料仔细的看完,至少需要给自己预留半年以上的时间,时间如果不够半年,那么只能挑重点,我认为的重点:
这是小北在星球 内亲自整理和原创的 C 面试八股文,目前是星球内读者专属专栏,这里面的八股文不像大家在外面看到牛客网那种,问题都是几句话简略的回答
力争给大家讲懂每一个高频考点,不单单有文字描述,还有代码示范、画图,以及扩展学习这个知识点该去看什么书,看什么博客:
这里面每一篇都几乎是上千字,总共60篇,10w字左右,并且每一个知识点都标星表示重要程度,方便大家面试前快速突击:
就拿智能指针来说,我知道大厂很容易考察手写,所以这里会给大家深入剖析源码,以及带大家实现简易版本的.
还会从 shared_ptr 扩展到 doubel free、enable_shared_from_this、线程安全这些知识上,目的就是不让大家去死记硬背概念,而是从实际应用出发理解住,因为我相信系统化的学习才能真正的理解、融汇贯通:
又比如,extern 这个关键字的作用,很多面经都是几句话带过,但是实际上要深入理解这个特性,必须要掌握链接相关知识,所以我在这里会补充链接的背景知识,同时提供大家深入、系统学习需要去看哪本书,哪一章节:
其它内容就不一一展示了,总之这份 C 八股文总字数近 10w,可以说大厂面试 C 语言的问题几乎都在里面可以找到
加入星球 后,看第二个置顶帖子,即可在线阅读~
后续会在星球整理为 PDF 方便大家阅读,目前是使用语雀在线文档进行阅读。
这里依然申请了加入星球的40元优惠券,数量不多,大家需要的话可以扫码领劵加入一波,如果感觉不合适,三天内知识星球APP可以直接全额退款!可以先扫码体验一下:
--
除了C 专栏,还有其它专栏介绍,包含各种学习路线、资源:星球专属专栏
我在星球里详细回答了几百个问题,上百篇精华帖子,加入后记得看星球的置顶内容,这绝对是今年最值的一笔投资!
联系客服