网易互娱第一批8.17 一面面经
上来就是半小时coding面,原题leetcode1181,15分钟写完面试官就出现了。提了2个质疑,结果都没问题,最后因为题目二义性就不问了。
1.自我介绍
2.大学做过什么项目,具体讲讲?讲了一个大学里的竞赛科研项目。
语言:
3.c++的4种智能指针了解吗?这块我专门了解过,讲的很细,语速很快,但估计也讲了6分钟左右。
4.c++的4种类型转换了解吗?我只常用const_cast和static_cast,着重讲了这俩,剩下俩和面试官说不太熟悉。。。
5.c++了解过哪些容器?底层实现知道吗?我说了一堆。。。然后vector扩容机制,map排序,set去重具体怎么做的,vector专门看过给他证明了均摊复杂度。
6.如果我容器随意分配了大量内存,怎么管理这些内存及碎片呢?这里我因为知道内存池的概念,给他拿内存池举了例子,然后把GNU4.9之下的容器内存分配alloc做了比较细的讲解。
os:
7.有没有多线程编程经验?无
8.那么c++容器间要怎么保证线程安全呢?其他不知道。。我就回答了加锁,拿读者写者问题举了例子。
9.了解过哪些进程通信方式?
网络:
10.http与https的差别了解吗?我这里给他拓展的讲了很多,涉及到中间人攻击,具体的加密情况,证书信息等,估计扯了有5分钟。。。
11.了解过http劫持吗?无。。。
最后一个思考题
12.n个人,等概率抽奖,希望抽m个人出来,要求时间复杂度尽可能低。 我。。。没听说过洗牌算法,就自己想了,提了一个nth_element的底层实现,因为均摊是O(n)的,他觉得不好,因为是连续性的,影响公平性。然后我说了set,也不行,因为复杂度不是固定的nlogn。。。?然后他说你不要按去重去想,我就说map,他说还是不好。。。最后我说快排那个是我想的最优的,他说没事,这块你回去可以再想想,如果想不出来百度下看看。
你有什么想问我的吗?
问了一下几面:2面技术1面HR
问了下什么时候出结果:1~3个工作日
问了一下有什么可改进的地方:我不方便透露。。。。?
面试体验极好,基本答上了,可以说90%吧,而且知道的都是疯狂输出,总之面的就是很爽,不怎么难。
#网易互娱22届秋招面试##面经##C++工程师##校招#