首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 17:23
上海交通大学 人工智能
拼多多工作感受
入职以来感受还不错。考勤11116,实际工作8小时,午晚各2小时休息,上午睡到10点,中午还可以回去睡一觉,晚上去健身。公司每年调薪两次,各种社交软件可查;氛围纯粹,专注做事,效率拉满,有价值事情开发直接沟通就干,部门墙什么的不存在。绩效271分布,不时差的太离谱1比较难。办公在上海核心区,周边健身房超多,新开的网红健身房加伍磅体验一流。同事年轻有活力,帅哥美女多,这点比前东家华为(年级大把没有活力)好太多。需要27届暑期实习内推链接的看我个人主页其他帖子 #大厂##开奖##牛客AI配图神器##多多跨境##搜推广#
点赞
评论
收藏
分享
03-08 09:32
门头沟学院 数据分析师
考研下岸是走测试还是数据分析方向
bg普通一本,做过两个和数据分析相关的项目,对数据分析有点基础,但听说数据分析很吃学历,就有点想快速学习软件测试。而软件测试是我没有接触过的,目前学起来时间成本太高。所以各位大佬有没有推荐的?如果走数据分析的话我只想进中小厂就行了。以下是我针对数据分析求职的简历
三月的小目标
点赞
评论
收藏
分享
03-01 21:01
北京邮电大学 Java
27届找暑期,简历求指点
第一次找实习,求指点
点赞
评论
收藏
分享
03-10 17:44
门头沟学院 C++
招聘信号强到爆表,但充满杂音。
招聘市场里,你会有一种强烈的割裂感:一边是1270万毕业生叠加考研考公回流大军的“千军万马过独木桥”,传统岗位卷生卷死,简历投出去如石沉大海;另一边,却是满屏的“AI急聘”、“大模型高薪”、“Agent开发”,仿佛只要沾上AI两个字,HC(Headcount)就无限敞开,年薪起步就是30W+。但这真的是机会扎堆吗?还是新一轮的盲目狂欢?打开各大招聘APP,你会发现一个诡异的现象:行政的要求里写着:“熟悉AI办公工具,能利用大模型生成周报和会议纪要。”新媒体运营的JD里要求:“精通Prompt工程,能用AI一键生成爆款文案和短视频脚本。”销售岗位都在喊:“需要懂得利用AI分析客户画像,实现智能化...
你感受到金三银四了嘛?
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
三月创作集结令:创作狂欢季,等你开场🎉
1.2W
2
...
一个好的简历 Agent 项目,必须具备的几个关键因素(附项目推荐)
6305
3
...
转转二面
4533
4
...
字节后端一面
4217
5
...
清华本硕找实习ing
4011
6
...
腾讯后台开发一面
4011
7
...
转转-java开发-一面
3929
8
...
6个AI实操技巧,帮你在简历+面试中拉开差距
3791
9
...
腾讯前端暑期提前批一、二、三面面经
3299
10
...
字节后端日常实习二面
3261
创作者周榜
更多
正在热议
更多
#
你感受到金三银四了嘛?
#
50698次浏览
500人参与
#
美团笔试
#
669911次浏览
4387人参与
#
春招 / 实习投递,你最焦虑的一件事
#
41911次浏览
844人参与
#
今天你投了哪些公司?
#
95547次浏览
1830人参与
#
虽然0面试,但今天___,夸夸自己
#
5390次浏览
126人参与
#
拼多多工作体验
#
48697次浏览
301人参与
#
简历无回复,你会继续海投还是优化再投?
#
143044次浏览
884人参与
#
为了去实习,我赌上了___
#
68765次浏览
385人参与
#
找工作,你都让AI帮你做什么?
#
4596次浏览
168人参与
#
如果给AI员工评绩效,我的答案是……
#
6046次浏览
134人参与
#
哪一刻你对工作祛魅了?
#
14681次浏览
140人参与
#
刚工作的你,踩过哪些坑?
#
3724次浏览
87人参与
#
蚂蚁集团笔试
#
1347次浏览
17人参与
#
实习学不到东西正常吗?
#
5727次浏览
89人参与
#
今年找实习到底有多难?
#
12483次浏览
125人参与
#
携程笔试
#
118809次浏览
731人参与
#
AI时代下,你的岗位要求有什么变化?
#
6461次浏览
124人参与
#
软开人,说说你的烦心事
#
66475次浏览
397人参与
#
AI项目实战
#
4332次浏览
213人参与
#
校园里的破防时刻
#
38167次浏览
178人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务