首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
特立独行MVP
字节跳动_基础架构_后端研发工程师
发布于北京
关注
已关注
取消关注
之前的学习经验分享给大家,目前组内招人,社招与实习都有不少HC,欢迎对字节 分布式存储 有兴趣的各位加入
@特立独行MVP:
通信专业转CS收获BAT等20+offer学习路线分析
精华
前言 从2019年到2020年这大约半年的时间我一共大大小小获取了20+的offer: 我希望可以把我从实习到秋招这一路以来的体会和经历分享给大家。(同时也欢迎大家支持我的牛客网专栏《收割BAT:C++校招学习路线总结》 https://www.nowcoder.com/order?itemId=17&itemType=ZHUANLAN&couponId=D3btI8p) 大家有什么求职或者方向的问题都可以在帖子下面询问,我都会一一进行解答~ 面经积累 我有一个习惯,就是记录和整理知识。从春招实习开始,我每一次面试都会录音,事后都会复盘。所有的面试记录,面试官问的问题,手写的算法题以及我个人面试的感受我都会记录下来。看过《深入理解计算机系统》的小伙伴都应该知道程序的执行是有空间局部性和时间局部性,其实面试官考察的知识点的范围也是如此。当你多次遇到同一个问题的时候就应该去把它记录下来。与其面对茫茫多的知识,不知从何入手,不如将自己遇到的问题一个一个”缓存“起来,建造一个属于自己的知识”字典“。当你的知识"字典"足够系统和完善,你就足以收获理想的offer。我的积累方案如下: 1.面试录音,及时复盘 2.事不过三,重复出现的问题单独归纳和整理 3.知识串联,通过关联的方式加强对琐碎知识点的记忆 价值观 我认为没有最好的学习方案,只有最适合自己的方案。 学习路线 实习和秋招的面试过程都是一场又一场的持久战,我在2年前也和大家一样对面试畏惧,对学习恐慌,非常迷茫。很庆幸自己走过了这2年,在此我会将我自己的学习方法和面试经验总结给大家。整个学习路线分为以下几个部分:编程语言学习,操作系统学习,服务器编程学习,计算机网络学习,分布式数据库学习,其他方面学习。 1.编程语言学习 编程语言千万种,到底该学哪一种? 我认为语言不分优劣,只分喜好,只看需求。本硕这几年我学过C/C++,JAVA,Python,Matlab,Golang,Javascript,用来用去还是C++和Golang适合我,但是我也不排斥去使用其他语言。 学习编程语言第一步:上课。如果你是刚入学的小白,那就去好好上课吧,计科老师说的一定比我好。如果你已经错过时机或者没办法天天去教室里上课,那么网课是我最推荐的。 在哪里可以搜索合适的课程: Coursera:我最开始使用的渠道,当时看了很多北大的C++入门课程(比较简单现在只记得有个喜欢扔水瓶的老师) B站:B站是非常好的渠道,如果你知道课程名直接去B站搜吧,肯定有up主上传了,点播放量最多时长最长的总没错,还有弹幕一起学,据说还不错。 我个人主要使用的语言是C++,所以我以C++学习为例:C++不容易学好,如果仅仅是学习语法或者写个算法题那一两周可能就可以上手。但是想用好C++还是需要很长时间的coding和源码阅读积累。我个人的方案是先看书,再实践,再看书这样的不断循环。道理大家肯定都懂,但是能够坚持做下来的太少了。 给大家推荐我看过的几本C++相关的书籍: 《C++语言的设计与演化》:可以用来理解C++的设计思路,知其所以然 《Effective C++ 》:很多关于C++方面面试问题的出处 《More Effective C++ 》:《Effective C++ 》的进阶版 《深度探索C++对象模型》:我目前还在看这本书,个人感觉还不错 《C++ Primer》 :很多人推荐看完这本书,但是这本书内容太多了,我建议当一个字典,遇到问题去查。 《STL源码剖析 》:C++代码的典型案例,还可以帮你理解数据结构的标准实现 C++项目那么多,到底该看哪一个? 只看书不coding永远都是空中楼阁,而且C++的知识点非常多且琐碎,一种需求可以有多种实现,如果不实战真的很难发现其中不同之处。所以需要一些项目练手。如果大家和我一样是后台开发方向,那么可以去找一些网络服务器相关的项目去练手,一方面可以加强对Linux操作系统的理解,又能增加网络知识,同时也可以锻炼C++ coding能力,一举多得。那么有哪些值得做的项目呢? 1.做别人推荐的好项目: WebServer 我在实习前看的是大佬 (牛客id:健康成长天线宝宝啊 )的个人项目WebServer:https://github.com/linyacool/WebServer。基于他的项目和我后续看书的总结,在1-2个月的时间里我也实现了一个web服务器,这个项目是我简历上除了实习项目之外被问的最多的项目。 2.看STL源码: STL源码,有各种C++高级技能的实现。推荐大家去看看STL里的快排实现源码,第一次看到真的很有意思。 3.开源项目: 下面是几个还不错的开源项目,如果当前有不错的基础可以去通过源码学习: libevent:Libevent是一个轻量级的开源高性能网络库,采用事件触发,封装了以下三种事件的响应:IO事件,定时器事件,信号事件。 Memcached:Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态数据库驱动网站的速度。 Redis:Redis是一个基于纯内存的存储系统,虽然是C写的但是值得一看。 切记,项目当中实现功能只是一方面,测试和文档整理也很重要,项目的每一步都需要文档和数据的支撑。 2.操作系统学习 Linux发展到今天,早已超出我们的想象。如果不是想专门做操作系统这块的话,我的学习经验也许可以借鉴。首先我推荐大家看这本《深入理解计算机系统》 : 这本书十分经典了,每一次看都会有新的领悟,本书对于计算机体系结构的讲解非常细致,有很多非常有意思的Lab。这本书从程序执行的计算机角度开始,介绍了处理器的体系结构,程序的机器级优化,虚拟存储器,系统级IO,网络等等多个方面。推荐大家和 CMU 15-213 CSAPP 这门课一块看。 其次再推荐2本书: 《Linux内核设计与实现》: 建议和操作系统原理的课本结合一起看 《深入理解linux内核》 :讲2.6版本的内核 如果是面对秋招,我总结下来以下这些关键知识点是需要理解的: 进程和线程之间的区别 操作系统的调度算法 进程间通信的方式和区别 虚拟内存机制的作用 缓存的作用以及缓存替换算法 线程的实现方式 虚拟文件系统 Linux环境如何搭建 学习操作系统当然要配合Linux一起, 过去一般建议大家装个双系统比如Ubuntu16.04。如果大家觉得双系统麻烦或者虚拟机慢,那么我还有以下2种方式让大家在几分钟之内就可以获得一个稳定的Linux开发环境: 方法1: 买阿里云、腾讯云、华为云的服务器。买最便宜的,可以不用关机,远程ssh登录即可,无论手里是什么平台的系统,都可以一秒进入Linux,这也是我常用的方式。 方法2: 安装docker,花10min学习docker基本概念和操作,用docker安装Ubuntu16.04的镜像,然后进入容器。这个方法也是跨平台的,非常的简易,我会在后续专栏当中单独介绍docker的原理和使用方式。 3.服务器编程学习 服务器编程其实就是建立在对linux系统调用的理解以及网络协议的理解上的。如果这两块的知识比较好的话就可以动手实现一些简单的服务器,然后对比别人实现的,压测一下性能,这样就可以作为一个个人项目。下面几本书我建议大家可以选看: 《Linux高性能服务器编程》:必看 《UNIX 环境高级编程》:选看 《UNIX网络编程卷1》:选看 《Linux多线程服务器端编程》:选看 《深入理解Nginx》:选看 还有很多不错的开源库的实现,比如muduo库。造造轮子也能成为自己的一个项目,推荐大家在有时间的情况下去看看。 4.计算机网络学习 计算机网络这部分,我最开始看的是浙大的计算机网络课程。主要是专注于协议的原理和分层模型理解,因为计算机网络的原理还是比较琐碎的,建议大家多做些笔记和文档,不论对于记忆还是日后的复习都是很有用的。下面4本书值得一看: 《计算机网络原理:自顶向下方法》 《TCP/IP详解卷1》 《图解TCP/IP》 《图解HTTP》 计算机网络主要的常考知识点如下: TCP/IP 1.分层模型 2.三次握手、四次挥手原理 3.拥塞控制 4.流量控制与滑动窗口 5.TCP与UDP比较 6.DDos攻击 7.close_wait,time_wait状态原因 HTTP 1.http/https 1.0、1.1、2.0 2.get/post 以及幂等性 3.http 协议头相关 4.Cookie Session 的比较 5.长连接与短连接,websocket的对比 Socket 1.IO模型 2.select ,poll,epoll原理和对比 5.分布式数据库学习 如果只是会MySQL基础可能是远远不够的,像是Redis,MongoDB等非关系型数据库也是当前的热门。分布式数据库,分布式存储是当前每个大公司都会非常重视的核心,所以数据库基础非常的重要。 MySQL入门建议可以看《MySQL必知必会》。原理比较少,基本都是语法和使用细节,适合先过一遍。关于原理可以看《数据库原理,编程与性能》。 Redis入门可以看《Redis设计与实现》这本书。非常详细的讲了Redis的底层数据结构,包括其集群部分也做了很好的解释。除此之外可以再去理解一下分布式的Raft算法,Gossip协议等等。 数据库常考知识点: MySQL相关 1.索引:B树、B+树底层结构,索引失效条件 2.sql语法 3.关系型数据库三范式 4.存储引擎:InnoDB和MyISAM对比 5.数据库的锁:行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁等等 6.数据库隔离级别:脏读、不可重复读、幻读 7.事务的ACID理论 8.查询优化:explain,慢查询,show profile 9.分布式:分库分表,读写分离 Redis相关 1.Redis 特点 2.Redis 底层数据结构:跳表,字典 3.数据淘汰策略 4.持久化方式:AOF,RDB 5.哨兵模式 6.集群同步方式 6.其他方面的学习 由于篇幅原因在此我不会把每一个方向和知识点都详细罗列,如果各位有兴趣可以看我在春招实习写的学习路线: 后台开发/基础架构方向 学习路线 写在最后 最后我想说:秋招 = 心态 + 实力 + 面试技巧 + 运气 心态:建议大家保持一个积极的心态,不轻视自己也不高估自己,脚踏实地做好自己; 实力:建议大家加深自己某一个方面的深度,拓宽技术面的广度,只有深度+广度才能脱颖而出; 面试:我会在后面的专栏当中专门给大家分享我的面试技巧,希望大家可以参考; 运气:作为求职者我们没有足够的信息,无法预知某个公司岗位的难度,不要嫉妒别人的轻松,机会只给有准备的人,努力的人运气一般都不会差; 我目前还在慢慢的职业摸索阶段,也还是一个菜鸟而已,如果有任何错误的地方也欢迎大家指正修改。我的方法和经验不一定适合所有人,如果这篇文章真的可以帮助到未来求职的你也就达到我的目的和初衷。愿大家一起进步。 结语 最近受牛客网邀请,写了一个关于更全面的关于后端方向面试和求职的专栏:《收割BAT:C++校招学习路线总结》 欢迎大家支持! https://www.nowcoder.com/order?itemId=17&itemType=ZHUANLAN&couponId=D3btI8p [恭喜大佬]最后祝大家春招顺利~ PS: 有不少小伙伴私信我 左神算法课的优惠码 大家可以去这个帖子自取https://www.nowcoder.com/discuss/432253
点赞 171
评论 63
C++求职圈
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
11-01 21:25
门头沟学院 Java
11.1秋招进展-周末摆烂
1.北京移动又发什么AI面试和测评,不想搞了,不做!2,作业帮发来什么笔试,这都什么时候了,才发。。。
我的求职进度条
点赞
评论
收藏
分享
10-10 10:02
武汉晴川学院 C++
震惊!双非之下还有境界
(我没抄简历没有面试,我抄了简历还没面试,那我简历不是特码白抄了吗?)是的,友友们,你没看错,双非之下还有境界,专升本,终极死亡胡同,开局低人三等海克斯,专科压根没实习,完事专升本上来了以为前途一片光明了,结果啪唧一下死水里了。
大卫c:
兄弟简历真的太差了;而且不要写期望岗位,九八硕都不一定c++后端,;c++不同岗位多,只能自己熟悉技能然后投
点赞
评论
收藏
分享
10-14 18:01
已编辑
北京航空航天大学 IC验证工程师
秋招结束
终于结束了 投101家面30泡12oc 7结束了.补充一下大家很感兴趣的:之前有一天面了七场,从早上九点面到晚上七点10.14更新,oc 10
凸守早苗:
耐面王
点赞
评论
收藏
分享
昨天 11:40
小天才_电子工程师(准入职员工)
小天才内推,小天才内推码
6.30 投递java后端工程师岗位,当天过初筛7.1 笔试可能是因为之前在牛客上刷过1000道java题,算法和八股文什么的也准备了一个月,笔试总体感觉比较简单7.10 一轮技术面,30min自我介绍先问了非常基础的IDEA基本使用,例如debug流程、常用快捷键拷打项目,说出自己项目中两个重难点,以及自己是如何解决的java基础,介绍常见集合以及底层原理,我当时讲了List中的ArrayList和linkedlist各自原理和对比,Map中的HashMap底层原理spring中的IOC和AOP是什么,有哪些实际应用场景?java8的新特性有什么?介绍常用的stream流方法还问了一些mys...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
那个敢跟leader对线的实习生,现在怎样了
2700
2
...
上班还能尸体回温。。。
2218
3
...
数字马力一面(已挂)
2202
4
...
27找实习,简历求拷打
1826
5
...
实习才知道原来攒钱这么不容易(给新人小白)
1706
6
...
数字马力 一面
1548
7
...
字节业务中台后端开发一面
1462
8
...
转测开是我大学生涯做过最正确的选择
1444
9
...
数字马力一面
1435
10
...
面试官你是来骗方案了吧?休想
1424
创作者周榜
更多
正在热议
更多
#
同bg的你秋招战况如何?
#
171671次浏览
999人参与
#
扒一扒那些奇葩实习经历
#
125386次浏览
1094人参与
#
360集团校招
#
18779次浏览
146人参与
#
你实习是赚钱了还是亏钱了?
#
26683次浏览
224人参与
#
去哪儿求职进展汇总
#
145501次浏览
994人参与
#
用一句话形容你的团队氛围
#
16709次浏览
172人参与
#
京东开奖
#
458378次浏览
2540人参与
#
毕业论文进行时
#
5132次浏览
74人参与
#
面对逼签的应对技巧
#
5408次浏览
29人参与
#
我来点评面试官
#
14245次浏览
103人参与
#
牛友的国庆旅行碎片
#
20816次浏览
125人参与
#
今年秋招是回暖还是遇冷
#
27949次浏览
173人参与
#
秋招开始捡漏了吗
#
72880次浏览
513人参与
#
找工作八股要背到什么程度?
#
15872次浏览
232人参与
#
三一集团提前批进度交流
#
41339次浏览
229人参与
#
社会教会你的第一课
#
110030次浏览
859人参与
#
工作后,谈恋爱还和学生时代一样吗?
#
40967次浏览
377人参与
#
上班后,才发现大学__白学了
#
14119次浏览
100人参与
#
你找工作是从容有余 or 匆忙滚爬?
#
10122次浏览
85人参与
#
阿里云工作体验
#
33275次浏览
108人参与
#
你的领导最像哪种动物,为什么?
#
25660次浏览
136人参与
#
职场破冰,你们都聊什么?
#
30810次浏览
154人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务