大家好,我是阿秀
阿秀粉丝群里一位小伙伴在投过20余份简历,先后折戟腾讯、字节跳动、快手、网易、滴滴、CVTE、商汤、小鹅通、深信服等,终于顺利上岸百度搜索实习岗了。
不容易不容易,我把他的经历分享给大家!新年就该分享一些喜庆的事情鸭!
本文发布相关内容,已取得粉丝本人同意~
背景介绍
本人本科就读于某计算机评级为 B 的双非学校,大学四年完全晃悠过去了。
本科时完全没有和工作有关的概念,就是该上课上课,老师的作业能混就混,后来随大流,迷迷糊糊去考研。
结果可想而知,考研结果比较差,大四春季跑了春招,被吊打的体无完肤。
不过后来调剂去了一所比较差的一本学校,跟本科相比有点水往低处流了。
到了那里以后才知道本科白白浪费了四年时间,所以决心要好好找工作。
我从研一开始就选择了 C++,不为别的,就因为 C++技术栈基本上只有大厂有,也就是想断掉自己去小厂的路,逼一逼自己。
研一寒假开始刷题,我主要是刷力扣和剑指 offer,其中力扣已经刷了440 道了。
由于去年疫情时期的存在,我在上完网课之余,刷题的时间多了起来,并在那个时候看了 Redis 的源码和游双老师的 Linux 服务器开发,后面还看了 muduo (这个真没啥用,我看了还是不懂,哈哈)。
研二开始后,差不多 2020 年十月份开始,我开始整理找工作相关的知识,就有点类似于阿秀这两天发布的两期《逆袭进大厂》一样,然后开始投实习,前段时间上岸百度实习岗,来分享一波。
阿秀的《逆袭进大厂》系列目前已经出了两期了,反响还不错,没看过的欢迎各位去移步。
《逆袭进大厂》之C++篇49问49答(绝对的干货)
《逆袭进大厂》第二弹之C++进阶篇59问59答(超硬核干货)
不知道大家是否接受这样的成功上岸案例,如果接受这样的上岸经历和个人分享,阿秀日后会多为大家带来类似的分享。
投个票吧,希望您动动小手,真的非常感谢!
以下是粉丝的面经,看看你们会不会。
一面
1、介绍项目
2、针对项目:这个日志如何实现
3、deque的实现原理
4、vector与deque的优劣
5、vector的扩容实现
6、讲讲C++内存分区
7、讲讲移动构造函数
8、讲讲指针和引用
9、讲讲顶层 const、底层 const,引用更接近哪个
10、说下虚函数机制
11、深浅拷贝,深拷贝除了改写拷贝构造函数以外还要做什么操作(不太会,他提示下赋值操作符呢,我就说是要重载一下赋值操作符么?)
12、什么情况会调用拷贝构造,什么时候会用赋值操作
13、析构函数设为虚函数可不可以?
14、public、protected、private继承分别可以访问什么(woc,这个东西没怎么用过,也没背到八股文,猜着说了一通)
15、简洁说说进程、线程,不要展开太多
16、进程 fork 的时候,虚拟地址空间的五大分区哪些不需要写时复制过去?(猜了下 data 段?他质疑了一下,我说 bss 也不会?因为 static 不能多次初始化,他说 static 可以多次赋值啊,然后跳过了….)
17、算法:链表相交(先装死说了个求全部长度的思路,然后断线了,他让我把代码发邮箱,我在写代码的时候再写了一个不用求长度的思路)
二面
1、问了一下你看过什么书
2、你看过 STL,讲讲内存配置器
3、讲讲迭代器(通过萃取迭代器的类型,面试官非要问具体怎么实现。我说我看的时候不太明白,他说没事,其实我第一次看也不太明白2333)
4、说说 vector,你自己想一个 vector 的设计方法
5、map 和 unordered_map 的区别
6、list 和vector 的区别
7、说一下 tcp 和 udp,tcp 如何保证有序,如何保证不丢失,如何保证不重复?
8、http 懂什么(说了一通,他说不用展开,我明白了)
9、说一下如何实现一个线程池
10、说一下如何实现一个线程安全的队列(我还想展开无锁队列,被叫停了)
11、malloc需要指定内存的大小,free为什么不需要?(我不会,他说你自己想一个实现方法,我说能不能在指针的上一个地址保存所要开辟的数组个数,然后free的时候先向上查找得到元素个数,然后再进行一个释放。他说行吧,这也是一种实现方法)
12、算法:LRU、旋转数组的查找
结语
恭喜这个逼!