23届秋招个人总结,C/C++开发方向
个人情况介绍,双非硕,本硕都是计算机专业,英语六级。8月初开始投递截止到9月30日,共投递51家公司,18家公司给了笔试,8家公司给了面试。
最终拿到5家公司的offer:深信服C/C++软件开发、信锐C/C++软件开发、中兴软件开发、经纬恒润Linux软件开发、正浩创新软件开发。
另外3家公司情况:汇川三面由于心态飘了,面试胡扯,且无QT经验也不想转C#,被刷;交通银行一面对方想要Java技术栈的所以7分钟就结束面试了,但国庆后还是收到了体检通知,不知道什么情况,由于已签深信服所以未参加;百度一面通过后,国庆后二面但没约上;
很遗憾的是深信服本可以拿SP的,但由于自己对未来规划没考虑清楚和全面而错失。
接下来从秋招的主要流程分享一些自己的经验:
一、技术准备
1、学习路线网上很多此处不赘述,推荐公众号:拓跋阿秀,及其个人网站:https://interviewguide.cn/
2、各方面需要达到的基本要求:
- 数据结构与算法:常用数据结构及其算法(线性表、字符串、树、图),二分查找、各排序方法。剑指offer必须能够手撕、牛客面试高频题和力口-top100必须刷两遍、其他各公司机试题多多益善,推荐网站:牛客华为机试https://www.nowcoder.com/exam/oj/ta?tpId=37、赛码名企真题https://www.acmcoder.com/#/practice/company
- C/C++:看C++Primer和秀哥笔记,要对代码从编译到程序运行中间各过程清楚,另外包括常用关键字及其作用、C++11版本特性、程序内存管理、面向对象特性及部分原理等;
- 操作系统:进程线程协程基本概念和区别、多进程(线程)管理和数据共享、进程(线程)同步控制、内存管理、中断机制、系统调用、信号机制;以上内容要熟悉,推荐博客:https://blog.csdn.net/orangeboyye/category_11862639.html
- 计算机网络:七层和五层模型、各层主要协议(特别要熟悉TCP、UDP、HTTP);TCP状态转移图、可靠传输原理、三次握手、四次挥手、拥塞控制、流量控制;HTTPS和HTTP的区别;
- 数据库:事务概念及特性、索引特性及使用事项、三大范式(对于C/C++来说以上几个基本可以了,Java还需深入)
做到以上这些面对中小厂会相对顺利一些,但对于大厂还远远不够。
二、简历
1、技术栈要内容充实且做到写上的都会,最好有源码阅读经验;
2、项目或实习经验书写要求:
- 三段式:项目简介、个人贡献、总结或成果;
- 项目简介要用简短的话描述清楚项目背景和功能;
- 个人贡献是重点,尽量用量词来描述,体现具体效果,如:针对xxx场景,实现了xxx技术,将xxx反应时间从xxx提升到了xxx;这种具体数据不一定要实际测出来,重点要讲出来,包括测试过程,逻辑要合理;
- 总结或成果就突出写自己总结了什么经验或取得怎样的成绩。
3、成果与荣誉部分就写上四六级、论文专利软著、获奖等等即可;
4、自我评价体现积极乐观、能抗压、主动应对挑战即可。
三、找目标公司(投简历)
- 看牛客大佬整理的公司名单,基本上每天都会更新开始校招的公司,如:https://www.nowcoder.com/discuss/935228
- 根据行业去搜公司榜单,如:搜云计算公司,有阿里、腾讯、华为、天翼、金山等等。
- 搜目标城市的公司名单。
- 各种校招公众号:推荐校招巴士、南开就业。
建议找公司前先了解目前各公司所处行业背景,结合发展情况确定几个有意向的行业,因为选公司不如选行业。
四、笔试
一般是单选题、多选题、编程题,也有的公司会有填空题、场景或思维题;
注意:大部分情况下编程题都是要写头文件、输入输出的,所以提前刷一下ACM模式(如华为机试);也有的公司会在文本框中写,无编译调试。
五、自我介绍
- 个人基本情况,如姓名、学校、学历;
- 实习/项目/科研经历,着重讲成果;
- 结合自身综合素质和岗位要求做总结。
六、技术面
- 技术面主要有四部分:项目、手撕代码、八股、场景题(结合场景设计数据结构或系统);
- 一般大厂:一二面会着重手撕代码、八股和场景题,三面(主管面)会偏向项目;
- 中小厂或制造业:着重项目(如果项目感兴趣的话),其次是八股;
- 尽量把项目准备充足,介绍时引导面试官去问你的项目。但是面试官只对两种项目感兴趣:已经落地商用的、有技术深度的;
- 手撕代码,一般都是剑指offer原题或简单扩展题,另外就是力口-top100、牛客面试高频题;
- 八股方面,在面试前到牛客搜该公司的面经,看面试官喜欢问那些知识,着重准备;
- 场景题,对C++常用库要熟悉,如:海量数据排序、找中位数,给定场景做到快查和快插等;
七、综合面(HR面)
- 主要有项目、性格、对公司的了解、职业规划、对加班的看法、期待薪资、有没有offer;
- 项目一般会问碰到的难题、合作方式、人员协调、进度管理、需求分析等等,可以不讲技术,但必须逻辑清楚;
- 性格要表现积极乐观、认真负责、通过项目体现抗压、愿意主动合作付出等等;
- 对公司的了解,一般去看下公司的主要业务,近几年的大事件(正向的)即可;
- 职业规划最好结合岗位(行业)发展来讲,可以稍微具体一些,如:五年规划,未来五年要做什么,做到什么程度,取得什么成绩;
- 期待薪资最好先到offershow看一下公司近几年校招同学历的薪资,然后根据自己能力说一个范围,可以高一点,但不要好高骛远;(小公司可能会根据你的期待薪资去压价,但一般大点的公司都有成熟的定薪体系,所以这个问题我觉得只是看你对自己和行业有没有一个清晰的定位)
- 有没有offer,如果是秋招前中期(9月中旬及之前),可以说没有或有公司在面试流程中;如果是后期,一定要说有,因为在后期你还没有offer证明你能力不行,具体薪资可稍微抬高点说;如果问到具体公司,面的是大厂则无所谓,有别的大厂的话还能提高身价。面中小厂则说同等级或稍好的公司,不能说有大厂在流程或offer(因为你有大厂会让HR觉得你来的几率不大,只是来拿保底或积累面试经验的)
八、意向或正式offer
- 收到offer一定要了解清楚以下几点:部门业务、试用期时长和薪资、年终奖要求和基数、公积金比例、上下班制度。
- 有的公司会先发意向,然后公司审核完成后再发正式offer,拿到正式offer才算有效,因为有的公司会毁意向;
- 邮件收到的意向或offer都可以点接受,只要不签三方对我们就没有约束;
- 两方可以签,有的大公司就算你毁两方也不会找你要违约金,而且签两方不影响应届生身份;
- 有的公司会超额发offer,然后先到先得,一般这种情况牛客知乎脉脉能搜到;
- 一般收到正式offer,HR会让你一周内给答复,你可以先说要认真考虑下,然后时间差不多了就先接受,后面再找理由继续拖着,但要向HR表达你想去的意愿;
- 拒绝offer没必要感觉不好意思,态度好一些就行,如:感谢贵司的认可,但是我认真考虑后还是觉得去另一家公司,巴拉巴拉。
- 知乎脉脉上关于各公司的评价,我觉得自己要有明辨是非的能力,不然打眼一看大部分公司都是火坑,当然有的真坑确实要避免。
最后感谢牛客社区、各位牛友的帮助,附上我的面经:
深信服C/C++软件开发:https://www.nowcoder.com/discuss/1062944
信锐C/C++软件开发:https://www.nowcoder.com/discuss/1054125
经纬恒润Linux软件开发:https://www.nowcoder.com/discuss/1029434