首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
⛈201910230021951
华中科技大学 C++
发布于湖北
关注
已关注
取消关注
@B站程序员老廖:
C/C++核心基础知识高效学习避雷指南
首先声明,本文内容主要是针对编程相关的内容,即是本文讨论的是编程重点。有些这里说不是重点的内容可能在面试时一样要通过八股文重点准备。本文档是可以评论的,有什么想法大家可以在评论区留言。可能听起来有些矛盾,但事实就是面试造火箭,工作拧螺丝。该文档持续更新,最新的链接在语雀。首先声明,本文内容主要是针对编程相关的内容,即是本文讨论的是编程重点。有些这里说不是重点的内容可能在面试时一样要通过八股文重点准备。可能听起来有些矛盾,但事实就是面试造火箭,工作拧螺丝。*************学习过程中主要存在的误区C++ Primer的书籍能学半年数据结构算法 跟风刷题23种设计模式学习过程中没有侧重点Linux编程,啃全部的《UNIX环境高级编程, 812页》或者《Linux/UNIX系统编程手册 1176页》计算机网络抱着课本啃,比如抱着《计算机网络(第8版) 谢希仁 484页》为什么说要先快速掌握核心的知识,是因为只有通过写项目才能把各种知识真正串起来,写项目中遇到一些之前没有遇到的语法或者技术点,可以再去查书籍和博客。0 校招该如何准备尽量至少提前半年准备,见过不少985的网友,在7/8月份才开始准备找工作,然后连C++新特性、Linux系统编程、网络编程都不了解的,读研两年时间都花在导师给的任务上,出现找算法工作力不从心,找开发工作又没有准备的尴尬状态。校招时间:3、4月就开始实习投递7、8月就开始提前批了9、10月校招高峰期11月大公司基本上招完了,只剩中小一些的公司12月 只剩小公司了第二年3、4月春招,有些朋友大公司寄望补录(从目前的就业形势看,大公司补录的机会极少,因为这个时候以及开始招实习生了)所以一定要提前准备好 3、4月实习投递、7、8、9、10月的校招高峰。如果秋招错过了怎么办?那也不要摆烂,准备好项目,春招继续投,后续也可以投社招岗位的。 1 C++相关C++基础c++面向对象之封装、继承、和多态C++ STL重点先重点掌握容器的使用:[string容器][vector容器[deque容器][stack容器][queue容器] [list容器] [set/ multiset 容器] [map/ multimap 容器] 容器算法可以先以了解为主。对于不同容器的内部实现,后续看八股文的时候再深入。C++ 新特性重点智能指针(先重点掌握shared_ptr)左右值引用(但不用太沉迷)、mov、forwardthread、condition、mutex、atomicfunction、bindfuture、aysnc、promise、packaged_task可变模版参数(variadic templatesdecltype / auto实现一个C++11的线程池实现一个C++11的线程池 差不多就可以把C++常用新特性串联起来。不建议把c++14、17、20等等特性都一次学完。(注意,可以大致先了解下有什么新的特性就行)2 数据结构算法校招是不是一定要刷力扣大公司、中小公司对算法要求区别:字节、腾讯、美团、百度、阿里这些公司是要好好刷题的,200道起像深信服这级别的公司对算法要求没有那么搞,大部分还是数组、链表、排序、查找、二叉树等算法题。像瑞芯微、全志、联发科这类的芯片公司,对于算法这块也是考核常规的数组、链表、排序、查找、二叉树等算法题建议:先平衡自己的能力,确定可以冲哪一类的公司,不要无脑地把大量的时间花在刷题上;网上搜索对应公司历年的面试题,有针对性地做准备,不要跟风冲自己能力不及的公司;3 设计模式常见设计模式23种,也不要全部重点去看,工作一般常用的就五六种,可以先重点看常用的设计模式,其他的以了解为主,常用的设计模式:单例模式 工厂模式 策略模式 观察者模式 责任链模式 组合模式但需要做些扩展,比如单例模式可以到准备八股文的时候再进一步复习,前期学编程先别纠结那么多各种细节,即使花了时间,面试前还是得准备。4 Linux系统编程如果Linux没有基础,可以先学习Linux常用命令,但不要无脑照着 《linux菜鸟教程命令大全》来。对于shell编程,有个入门经验就行,主要是知道shell脚本的作用,大致理解脚本的运行逻辑就行。重点放在Linux api编程上。写代码不要用vim写,不要用vim写,可以使用vscode远程连接Linux系统写代码。多进程目前进程间通信大部分都是用的socket,即使大部分的进程间通信学习的时候不用作为重点内容,常见的主要是pipe。重点掌握的内容:fork父子进程exec系统调用僵尸进程进程回收进程间通信重点掌握pipe,其他不要花那么多时间,但八股文还是要背诵,比如喜欢问哪种进程间通信效率高掌握进程的基本信号处理方式多线程Linux系统里多线程最为重要,大部分程序都会使用多线程。重点:线程创建、销毁、退出等待信号量互斥锁,工作中主要使用互斥锁,但面试读写锁也会被问到条件变量自己实现一个消息队列(生产线程、消费线程、队列、互斥、阻塞、唤醒等)在消息队列和stl的基础上,实现一个线程池信号注意进程信号、线程信号的处理重点:信号发送、信号处理、信号屏蔽特别需要留意的是网络编程相关的信号:大部分书籍里提到的信号还是得好好看,信号内容相对也比较少因为大部分开源项目会对这些信号(部分)设置,一定要理解其作用。(可以在网络编程的时候再重点理解)其他比如mmap等,这个也是需要重点掌握5 Linux网络编程和原理网络编程核心基础核心是实现tcp客户端和服务端的通信udp 客户端和服务端的通信注意阻塞和非阻塞select/poll/epoll实现服务端的io多路复用(客户端其实也可以使用select/poll/epoll)Linux网络编程要掌握到什么程度网络编程核心基础 -> reactor网络模型 -> 构建业务。顺序:实现reactor网络模型,实现echo业务然后接入线程池,实现echo业务构建http业务构建webserver添加日志(注意日志性能)虽然很烂大街,但reactor网络模型是Linux开发的核心知识,可以把之前学到Linux编程串联起来。Linux网络编程进阶多线程、多线程、epoll+线程池不同reactor网络模型的区别不能单只学会epoll+线程池的reactor网络模型,也要进阶学习其他reactor网络模型。百万连接该怎么处理怎么实现单机百万连接,是否需要优化操作系统参数,每条tcp链接占用多少资源udp可靠性设计如何实现udp可靠性传输,可以帮助我们理解网络传输原理,这个需要深刻理解tcp的基础上才能实现。网络原理是不是要看教科书重点是理解tcp、udp传输原理。(这个需要多看一些八股文,计算机书籍讲的是比较一般的)http1.0 1.1 2.0 3.0websocket等。看书补充:可以看看 图解HTTP + 图解TCP/IP + 图解网络硬件 系列书籍。6 通信协议设计为什么要掌握通信协议设计其实tcp、udp本身就属于通信协议设计,目的是让发送方和接收方 能够按照一定的格式发送和处理数据。我们讲的通信协议设计,比如微信, 发消息如果一个人连续发送多条消息,服务器怎么识别?有些朋友说间隔时间那么大,但如果我们是用代码做测试?连续调用send(消息1), send(消息2), 如果"消息1和消息2"有粘包,服务器是收到"消息1消息2",那怎么拆分?客户端和服务端该如何沟通要实现客户端和服务端的沟通,就需要两端约定好通信协议。常见序列化协议 json > protobuf > xml等序列化的核心:把程序对象转为字节序列,以便后续再把字节序列还原为对象。为什么要序列化,比如一个对象里有很多变成字段,比如name和address,如果不做序列化如何发送给对方。{ "name": "darren", "lastName": "Jai", "address": "长沙岳麓区 高新区麓谷企业广场", "age": 25, "password": "admin@123"}7 日志库日志性能和什么有关系注意fwrite和write的区别。追求吞吐量:缓存后批量写入追求实时性:每笔数据调用write写入。什么是同步、异步日志同步日志:指当输出⽇志时,必须等待⽇志输出语句执⾏完毕后,才能执⾏后⾯的业务逻辑语句异步日志:⽇志输出语句与业务逻辑语句并不是在同⼀个线程中运⾏,⽽是有专⻔的线程⽤于进⾏⽇志输出操作。如何实现日志的高吞吐量写入?8 持续更新中要做什么项目?学习一定要有侧重点,20%是开发最常用的知识需要先掌握
点赞 18
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-15 17:10
门头沟学院 Java
第一次面试就是字节!
什么水平??被狠狠拷打的水平 找日常实习,主包没准备好,问的八股也答不上来,后来暑期实习在投都是挂了 从来没被字节捞过
CN_Kalin:
这下一辈子待在人才库了
大厂面试初体验
点赞
评论
收藏
分享
07-16 11:42
同济大学 热设计工程师
感谢海尔智家GEDP给我offer
面试通过了!!感谢海尔一面(2v1)个人基本情况家庭、爱情、未来规划等高考情况分数及位次之前在某某实习,为什么想要来青岛怎么面对压力项目问题制冷方面的专业课问题反问氛围很轻松,偏向于聊天一周内收到二面通知,递交材料。三天后三面二面(多v1)英语自我介绍英语日常问题(怎么分配时间、为什么来青岛等)项目问题制冷/燃烧 二选一专业课问题怎么处理团队关系、遇到什么难题、怎么和人沟通、在xx阶段印象深刻的事情等日常问题反问氛围也很轻松
查看12道真题和解析
点赞
评论
收藏
分享
06-04 19:53
刷了牛客那么多晒工位我也晒一晒
晒晒我的工位,如图,已经离职,某互联网大厂的工位,主要还是看工区,我这个工位难评
我在害怕什么:
一眼百度过道
投递牛客等公司
点赞
评论
收藏
分享
07-08 16:21
四川农业大学 招聘专员
好难找工作!
本科211毕业,刚来到上海,真的不想在被一些骗子公司直骗,洗脑了,只想找个稳定工作,牛友们有内推吗
一表renzha:
英语还有三级?
我的岗位说明书
点赞
评论
收藏
分享
07-18 18:09
门头沟学院 Java
米哈游
提前批就是秋招正式批吗?秋招只有一次机会吗?
26届校招投递进展
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批一面
1.2W
2
...
我曾经以为自己熬过了三阶段已经无敌,但现在却见证了逆天的第四阶段
5303
3
...
滴滴提前批面经
4865
4
...
回忆录:后端鼠鼠苦苦哀求日常实习
4441
5
...
天呐,公司怎么这样对我!!!
3592
6
...
从中山大学到中兴 SSP:我的秋招打怪升级之路
3365
7
...
如何平衡暑期实习与秋招
3253
8
...
实习,你就这么偷
3104
9
...
大三双非水产专业上岸阿里后端(一)
2780
10
...
关于牛土兵教育割韭菜的事实
2283
创作者周榜
更多
正在热议
更多
#
实习如何「偷」产出?
#
6546次浏览
90人参与
#
除了主业以外,你还有哪些其他收入?
#
1326次浏览
35人参与
#
风评不好的公司,你会去吗?
#
38858次浏览
252人参与
#
实习打杂,要跑路吗
#
4085次浏览
62人参与
#
职场新人体验
#
6137次浏览
77人参与
#
校园里的破防时刻
#
2221次浏览
38人参与
#
设计人如何选offer
#
126636次浏览
746人参与
#
第一份工作应该选高薪还是热爱?
#
74376次浏览
721人参与
#
学历贬值真的很严重吗?
#
26931次浏览
184人参与
#
一人推荐一个值得去的通信/硬件公司
#
187500次浏览
1864人参与
#
你觉得早上几点上班合适?
#
73946次浏览
308人参与
#
为什么那么多公司毁约
#
180533次浏览
1338人参与
#
秋招签约后的心态变化
#
84405次浏览
824人参与
#
你觉得现在还能进互联网吗?
#
15870次浏览
178人参与
#
双非能在秋招上岸吗?
#
223626次浏览
1182人参与
#
打工人的工作餐日常
#
55389次浏览
438人参与
#
外包能不能当跳板?
#
38193次浏览
229人参与
#
不考虑薪资和职业,你最想做什么工作呢?
#
93833次浏览
694人参与
#
考研对你找工作产生了哪些影响?
#
34200次浏览
213人参与
#
假如你的老板掉河里,你的工作能为他做什么
#
31410次浏览
381人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务