【更新】一些面试问题,阿里云c++实习offer已过
牛客网帮了我很多,首先感谢牛客网。
非211小本一个,面HR还被问到为什么不读个好的学校。晕。。
三月底的时候网易笔试被虐,我才发现笔试代码必须能手写。我以前写c++还一直在eclipse里面写。后面在牛客网友好的OJ和讨论区的帮助下,把剑指offer写的差不多了。练成了手写代码,扔掉了IDE,为拿到offer打下了基础。(牛客网oj是我见过的最友好的oj)。
我面试总是失败,但是觉得每次还是有不少收获。拿到offer没拿到offer,技术水平又没有改变,说明不了什么,也希望没拿到offer的牛友***越勇。
我简单的列一下有印象的问题或者知识点,不区分公司。
1.网络基础:tcp/ip卷一tcp那章所有内容都考到了,包括PAWS,几种定时器,close_wait状态。 必须能记住几张图,并且知道大多数细节。
协议栈实现原理推荐 阿里陶辉 的博客
。网络编程基础推荐,游双的linux高性能服务器编程,最好理解全文。
2.操作系统:腾讯面我的喜欢问内核,不问具体的机制,让你说一个你看过的。
3.C++语言方面除了 各种关键字,还问到了迭代器种类(偏特化,type_traits),考了S
TL源码剖析前三章。C++内存模型只问虚函数。腾讯问了Array模板类的实现改错(果断跪)。
4.设计模式问了装饰,适配器,***区别,做后台必须明白reactor是哪几个模式合成的吧。
5.数据库,记忆innodb,myisam区别保命。
6.除了腾讯不看重,其他的都很看重对 剑指offer
的掌握程度。但是不一定要最优解,比方说复制带环的链表,写个差的总比写不出来强。
7.问 awk 要不疑迟的说知道,他就懒得问了。其他命令宁可少说,记住一两个参数。
8.分布式范型:nosql的副本策略,心跳,***,分布式hash(On的ring ,
logn的finger table,O1中心节点,ceph 神奇的 CRUSH)推荐google三篇中文版 + 阿里云在线课程ppt
。吹架构看 阿里李智慧 的书。
9.高级网络编程(optional):
粘包问题(消息协议格式设计),protobuf使用,reactor网络库原理(各种网络api处理细节,连接生命周期,事件回调,如果能说出网络库原理,别人再也不想问你网络了,毕竟懂得人不多)这几个需要看
陈硕
的书就够了。
tcp重新封装改良思路推荐
kcp
(在github上搜索)。动态upstream机制设计,机器少怎么测试高并发。sleep能否模拟网络延迟(一直不懂什么意思)。
心理经验:
其实运气真的很重要,360 一面官直接上来就质疑简历,嘲讽项目,导致后面心态很不好,一面就跪了。腾讯二面压力山大,如果你正想说你会或者有准备,他就想换个问题问了。讲技术也要挤牙膏,这点很重要,一下讲太多不能说明你掌握的好,只能说明你是背诵的。这样才有机会一点点谈出自己的想法吧。
遇到的面试官人不错,不犯一票否决错误(比方说不知道怎么处理僵尸进程,或者吹自己不知道的技术),结果就也不错,毕竟只是招实习。
再紧张的面试,再迫切的心情,记得***的几句话,时刻告诉自己:
我身经百战,见的多了。
哪个公司招聘我没有面过?
以前面我的面试官不知道比你高到哪里去了,我跟他谈笑风生。
#阿里巴巴##腾讯##百度##美团##C++工程师#