当前位置:首页 > > C语言与CPP编程
[导读] 最近应邀在牛客网写 C++ 求职专栏,又把以前的秋招总结补充了很多东西,现在想想还是发出来,希望能够帮助更多的新手小伙伴们。

前言

      最近应邀在牛客网写 C++ 求职专栏,又把以前的秋招总结补充了很多东西,现在想想还是发出来,希望能够帮助更多的新手小伙伴们。

个人情况简介

楼主本硕均读于双非院校(普通二本学校)、本硕都是计算机相关专业,英语六级水平,本科时期辅修了一个水的不能再水的英语第二学位。

本科时期学过很多语言:VB、C、C++、JavaC# 都有所涉猎,研究生时期则主攻 Python C++。研二上学期开始系统学习 C++,并且不断系统看书和实践,中间崩溃过、迷茫过、放纵过,但从未放弃,始终相信自己,坚持咬牙走下去。所幸天道酬勤,最终也是拿到了一些不错的 offer

投递经历

笔者从 2020.6.15 号正式开始投递简历,到 2020.8.23 号截止一共投递过 94家公司,其中既有提前批(20206 月- 7 月),也包括正式批(2020 7 月- 10月)。

小建议:如果说求职者对自身实力不自信,可以多投投一些公司,选择面放宽一些,不要死盯着那几个大厂投。

共计笔试 59 场(最多一天做了 5 场笔试,那天天差点去世),54 家公司给了面试机会,54 家企业中有些企业是免笔试的。

秋招结果

       最终成功走到了 6 家公司的 offer 环节:字节跳动研发岗 SP、华为通用软件开发、百度 C++ 研发岗、B 站后端研发、深信服 C++ 研发以及农业银行研发岗,最后签了字节跳动,也是自己心心念念的大厂之一,十分满意了~

        接下来从 6 个方面对秋招进行复盘和总结,希望能够帮到大家鸭,特别是大三大四的小学弟们。

1、算法

        在秋招过程中,算法是极其重要的,再次重申一遍,真的很重要!笔试就不提了,算法不过关,笔试基本凉凉,面试过程中基本都要手撕代码,很多面试中算法题是具有一票否决权的,如果你能够顺利解出来,面试不敢说一定会过,至少是有很大加分项,但如果算法题做不出来或者说 bug 太多调试不通的话,面试上基本上就跪了(个人以及身边朋友经历,不一定准确)。在牛客网上也看到过很多基础很好的牛友就是因为面试过程中的算法题没解出来而直接饮恨的,希望大家千万重视算法这一块,千万千万要重视算法。

        我大概在力扣上刷了 300+HOT100 都刷了,剑指 offer 刷了 3 遍,刷完这些基本够用了,自己也有注意总结题型,常见题型就是那些,所以算法题基本没怎么拉过我后腿。一般来说,主要考的就是动态规划、贪心、二叉树、链表、数组、字符串之类的。

推荐资料:

力扣1-300题(前300道题非常经典,建议学有余力的同学都刷一刷

力扣HOT100(跟上面有不少是重复的,刷的时候要注意总结

啊哈!算法、大话数据结构(这两本书都是面向新手的图书,图画很多,有基础的可以直接跳过不看

剑指offer(这本书不需要多做介绍,校招必备

挑战程序设计竞赛(这本书属于进阶一点的算法书籍了,作者是ACM-ICPC全球总冠军,可以说是世界顶级程序设计高手的经验总结了,需要慢慢消化,经典题型太多

程序员代码面试指南(左程云大神的书,阿秀并没有看完,只是看了其中的海量数据处理部分的题目就已经十分受用了,在百度三面中就考查到了其中的海量数据集处理的问题

2、操作系统

        操作系统是比较重要的,面试三大要点之一(操作系统、计网、数据库),我是在 B 站上看过一些操作系统视频,同时自己慢慢看书、看博客学的。其中死锁、虚拟内存、堆栈、进程线程、内存管理、磁盘调度等都是重点,也是面试过程中问的比较多的一些知识点。你如果能够在面试过程中讲出来一些具体的操作系统知识,而不是泛泛而谈,肯定是很加分的,比如常见知识点进程线程区别,在提到线程切换比进程更快时,你如果能够很清楚明白的说出来进程切换做了哪些、线程切换做了哪些以及线程为什么比进程快,毫无疑问很加分的。 

推荐资料:

B站哈工大操作系统:https://www.bilibili.com/video/BV1d4411v7u7

B站清华大学操作系统:https://www.bilibili.com/video/BV1js411b7vg

B站美国麻省理工MIT 6.828操作系统神级课程:https://www.bilibili.com/video/BV1px411E7ST

现代操作系统(也是讲操作系统的一本好书,讲的很细

深入理解计算机系统(大名鼎鼎的CSAPP,被誉为“和金子一样重要的计算机基础书籍” , 很厚的一本黑皮书,需要慢慢看

现代操作系统:原理与实现(上海交通大学陈海波教授的著作,书中主要介绍操作系统的理论与具体实现细节等,感觉不如CSAPP)

3、计算机网络

        计算机网络也是重点之一,特别是 HTTP 以及 TCP/UDP 相关知识点,算是校招必备考点了,面试必问,但是难度是逐年上升的,原因可能就在于内卷程度越来越严重了吧。比如说以前对于三次握手四次挥手只问过程,现在直接让面试者画出客户端以及服务器端的各个状态码以及解释各种意外情况,比如 SYN 请求丢失会怎么样?

        建议计网的学习先从视频入手,然后再看经典书籍,毕竟视频中的知识都是别人总结好又给你讲解的,只有自己亲自揣摩、亲自动手实践得来的知识才是自己的,自己学来的才是真,经过实践方知分晓的~

推荐资料:

B站韩立刚老师的计算机网络韩老师讲课诙谐易懂,让你在哈哈大笑中学到很多知识点:https://www.bilibili.com/video/BV17p411f7ZZ

图解HTTP、图解TCP/IP(这两本书比较简单,日本人写的,把复杂的知识点简单化

网络是怎样连接的(这本书紧紧围绕一个问题:输入一个URL,直到我们在网页端看到请求的内容,这中间发生了什么?抽丝剥茧将这个问题逐步细化,带你走完整个网页访问的过程

计算机网络:自顶向下方法 (也是常见经典书籍之一,重点看第三章传输层TCP/UDP

4、Linux

       C++ Linux 基本是离不开的,特别是后端方向跟网络通信关系很大。在实际工作里,很多成熟的项目都是在 Linux 上进行开发的。所以有必要学一些 Linux 以及一些网络通信编程,网络通信涉及到的知识点很多,比如 IO 模型、线程池、多线程之类的。本人在秋招过程中被问过不少网络通信的问题,最频繁的就是 select、poll、epoll 的区别以及相关底层实现了。这里也推荐一些资料,都是我个人看过的。

推荐资料:

鸟哥的Linux以及Linux就该这么学这两本书(个人感觉更适合作为一本工具书来使用,当然了,如果你有充足的时间也可以系统的看上一遍,对于Linux也会有更深的认识和了解了)

TCP/IP网络编程(韩国人写的,书中例子很多,适合作为入门,另外github上有很多笔记,可以边看别人的笔记边看书,加深个人理解

Linux高性能服务器编程(游双老师的书,其中前四五章讲的是计网的东西,后面讲的很好,涉及内容很多,看完就大概明白服务端编程常见知识点和所需要掌握的技能了

Linux多线程服务端编程:使用muduo C++网络库  (北师大陈硕大神的书,需要很多基本,建议后期再看,我也只是看了一小半)

5、数据库

        数据库主要问的都是 MySQL 以及 Redis 相关的一些知识,普通研发岗掌握这两个基本也够用了,数据库常问知识点包括索引相关、性能优化、B+ 树、Redis 底层模型、跳表以及缓存击穿、雪崩、穿透等常见问题。有时候也会让你手写一些简单的 SQL 语句,比如给你一个学生表和课程表,让你找出成绩排名前十的学生姓名之类的。

推荐资料:

MySQL必知必会(一本很薄的小册子,不到一周就看完了,看完基本的SQL语句没什么问题了

高性能MySQL(建议只看索引以及优化这两章,后续的可以慢慢再看,这本书,真的真的很厚。)

Redis设计与实现(算是Redis入门资料吧,认真看完的话就对Redis有大概了解了,话说Redis这么火爆是有原因的,其中的一些精妙设计真的看完令人大呼过瘾,不得不承认,人与人之间真是有差距的。。。

极客时间- Redis核心技术与实战 (中科院的研究员开设的Redis专栏,个人已经买了,非常不错

另外再推荐基本数据库底层的书籍:数据库系统实现(华东师范大学数据学院指定数据库原理书籍)、MySQL技术内幕 -InnoDB存储引擎(InnoDB的详细剖析


6、C++

        C++ 的知识点比较多,也比较细,其实 C++ 并不容易学好,如果你只是简单学习一下语法比如 for 循环、变量类型之类的,那么一两周你就可以上手,但是如果想要学好 C++ 还是需要持之以恒的 coding,由于个人是 C++ 技术栈,这里也只是推荐 C++ 相关书籍和视频,都是本人自己看过的经典书籍和资料。

推荐资料:

B站黑马C++视频(黑马机构出版的入门级C++教学视频,很不错:https://www.bilibili.com/video/BV1Tb411j7uM

STL源码剖析视频(C++大师侯捷老师的源码视频,搭配STL源码剖析看效果更佳:https://www.bilibili.com/video/BV1db411q7B8

C++ Primer 第五版(我愿称之为C++圣经,800页左右,我看了2遍,超级棒!强推!

Effective C++、More Effective C++(前者2遍,后者1遍,跟C++Primer中很多内容是有重复的)

STL源码剖析(源码方面的好书,看了2遍,现在时不时还拿出来翻翻

深入探索C++对象模型(重点是虚函数那一章,看完你就会对虚函数有新的认识了

碎碎念

        可能有些人会问,这些书你都看了吗?这也太多了之类的?自己能不能看完?

        说实话,看着是挺多,但是其中有很多知识点是一样的,比如你详细了解计网后,游双老师的那本 Linux 高性能服务端编程中的前四章你大概略过即可,就不再需要细看了,知识是有相关性和相通性的,有了前面的沉淀后期自然就好很多了。

        还有就是学会善用目录。有时候,看过目录后就大概知道这章或者这小节讲的是什么了,建议在看一本书的时候先看一遍目录,挑选出自己不懂得或者感兴趣的章节来看,而将已看过的或者暂时不需要的放到后期再去看  。

        慢慢学、慢慢看,慢慢的就会有收获了。

        如果你像我一样学校不太好,不是什么重点学校或者不是计算机专业的,那么请你笨鸟先飞,赢在起跑线上。上面的书籍资料之类的,我并不是在 5 个月时间内看完的,自从学 C++ 以来就慢慢看、慢慢学的,我想其他语言,Java/Go 之类的也应该如此,本号后续也会分享 Java/Go/前端 的一些小知识,因为岗位要求是全栈,所以日后也会点亮个人前端技能点。

        正所谓,天道酬勤,你付出汗水和努力,剩下的交给时间就好!

最近在看汇编语言,王爽老师的那本《汇编语言》讲得真好,以前的那些寄存器、数据总线、地址总线概念忽然变得很清晰明了、活灵活现了,我自己也慢慢学会使用汇编写一些程序,懂得一些指令级程序优化的思路和方法,算是沉迷其中不可自拔吧!哈哈~

        一入IT就做好终生学习的准备吧,你既然想要拿别人拿不了的高薪,怎么能不付出比别人多的汗水、时间和精力呢?天上掉馅饼是不可能的,如果你还在想着偷懒耍滑,想要不付出时间和汗水就想拿到好 offer ,说明你并不是很适合计算机这一行~

结语

        如果你没有别人聪明,不如别人条件好,如果你下定决心学习计算机,请你多投入时间、多投入精力、多投入汗水!


小伙伴你好,我是阿秀,一枚从底层慢慢爬到互联网大厂的程序员,公众号上每一篇原创文章都是我精心创作、慢慢打磨出来的,如果你觉得本文对你有所帮助,麻烦点亮一下「在看」,也可以「分享」给需要的小伙伴,阿秀真的很需要你的点亮,十分感谢!

本公众号将会陆续分享编程学习相关的良心知识,敬请期待。

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

当我们谈起C语言,很多人第一印象是面向底层、面向系统的编译型语言,写出来的程序一般都是从头到尾跑一遍就结束,很少和用户交互。但实际上,C语言从诞生开始就支持交互式的程序设计,通过标准输入输出和用户实时交互,接收用户输入、...

关键字: C语言 编程

在STM32嵌入式开发中,精确延时是非常基础但又极其关键的功能。无论是驱动单总线传感器(比如DS18B20)、控制LCD屏幕时序、还是生成精确的脉冲信号,都需要用到微秒级甚至纳秒级精度的延时。很多新手刚开始使用STM32...

关键字: STM32 嵌入式

在C语言开发中,位操作符是最容易被新手忽略,却能在嵌入式开发、底层驱动、算法优化中发挥巨大作用的工具。和常规的算术操作、逻辑操作相比,位操作直接操作二进制位,执行效率更高,占用代码空间更小,能轻松实现很多用常规方法很难实...

关键字: C语言 位操作符

在C语言开发中,原生字符串的使用一直存在诸多不便。传统C语言中,字符串本质是以'\0'结尾的固定字符数组,开发人员必须提前预估字符串的最大长度:如果预估过小,拼接或插入字符时会出现缓冲区溢出,引发内存越界错误;如果预估过...

关键字: C语言 字符串

随着半导体测试向更高复杂性与并行度演进,多工位自动测试设备(ATE)和SiC/GaN测试对电感、电容和电阻(LCR)测量的需求不断提升。然而,传统的外接台式LCR仪表和基于线缆的设置难以扩展,而且会降低可重复性。本文介绍...

关键字: 半导体 电阻 嵌入式

智能高尔夫球追踪系统是一项创新的嵌入式电子项目,旨在展示如何将紧凑型物联网硬件集成到体育科技应用中。在体育领域,高尔夫球扮演着主要角色,但在现代时代,所有设备都变得更加智能化,高尔夫球也由此演变为智能高尔夫球。本项目结合...

关键字: 嵌入式 物联网 NRF无线技术

在工业自动化、智能传感、嵌入式组网等分布式总线系统中,设备自动地址分配是实现节点互联互通、即插即用的核心技术。传统人工配置地址方式存在操作繁琐、扩展性差、地址冲突风险高、维护成本高等诸多问题,已无法适配大规模、动态化的总...

关键字: 总线 嵌入式 组网

2026年6月8日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 正式宣布,首次荣获全球嵌入式应用安全连接解决方案知名供应商NXP® Semiconduc...

关键字: 物联网 移动设备 嵌入式

城市灯火通明、生活井然运转的背后,总有人在不被注意的地方,日复一日地坚持着。他们或许没有惊天动地的故事,却在漫长岁月里,用自己的方式守护着他人的生活。近日,乡村教师班爱花、爱心厨房运营者丫丫妈,以及“扛楼女工”云姐的故事...

关键字: 西门子家电 洗碗机 嵌入式

2026年5月15日,正值“世界无幽日”,一组数据再次引发公众关注:据《中国幽门螺杆菌感染防控》白皮书显示,我国幽门螺杆菌人群感染率已接近50%,涉及超过7亿人口,且家庭内传播特征极为显著——父母若感染,子女感染风险升高...

关键字: 洗碗机 AI 嵌入式
关闭