腾讯一面面经9.21
首先是
1. 自我介绍(主修课程,代码保存,思维导图,博客整理.最近在读,微信读书...)
在自我介绍中提到设计模式.
然后就开始谈设计模式.问我
2. 观察者模式,基本方案,以及使用场景什么的(ps:可能自己对模式实现有一定了解,但是实践以及应用场景之类的结合少了点.)
然后问了我的第一个项目,
3. 事件驱动器模拟(设计模式之禅内实现).问了项目,以及项目背景(只能尴尬的说,当时看设计模式,然后遇到了几个比较大点的模式应用.同时,再看select..网络部分,感觉这个有助于理解异步思想,就实现他了).然后,一直在强调实际应用.
在面试官沉默的时间里边,
4. 我又提出设计模式六大原则,然后,就说着,突然忘记了(里氏替换原则.名字)然后,强行说出来了他的大致含义......面试官就结了半天也没有跟我提出来这个名字叫做里氏~.~
再往下,感觉他只是在前后翻阅简历,一直想要找到问的点(没有高深项目可以问).然后我主动提出
5. STL空间配置器模拟实现这个问题. 然后就画图,简单说下原理什么的(我就画图,从用户申请大小开始讲解1,2级配置器的选择,即各层次内存来源.).完了之后,沉默着,我又提了解过memcached的内存分配机制(他并没有什么表示,于是我就没深入下去.)
6. 然后,说了下 STL6大组件之间的合作过程(为效率而生)..这个过程不是很好,没太讲明白..然后他边记录着,抬头来句(这就完了? 我一脸懵逼~.~)
这些东西差不多了,又主动登录我的博客,然后大致翻阅了一下.
7. 说了关于源码阅读的问题.(他一直在跟我强调vs!(我说这个是之前的总结,然后现在一直再用linux系统))
8. 在图书馆看书,都看过什么技术相关的书籍.~.~
9. 学习能力体现。(没经验,还是一脸懵逼,不知道该如何回答.)
10.问了下:你这里谈到了多线程,那么多线程需要注意什么问题.(我说了线程与进程的简单区别,以及线程锁的问题.)
11. 程序错误/崩溃定位(如果是网络程序呢.())通过trace确定大致范围..结合core,gdb进行定位.tcpdump应该也可以处理(我没仔细了解过这个).
12. 在设计这一块,提到...假如你现在写一个程序,然后代码比较长,然后你如何进行切分,将代码区分文件处理(一脸懵逼.扯了半天,提出来.其实是在问我(继承is-a与组合has-a的区别))
13. 学习能力体现. 根据简历,大致觉得还是了解挺多,然后问...如何证明你的学习能力(...懵逼)
14. 还有提到一个问题,就是滑动窗口..现在想想,回答不太在点上....只是说了依赖滑动窗口的流量控制和拥塞控制(4步).
代码部分.首先让写了一个
15. 链表逆置.(写的比较乱,然后他让我看着代码将思路...就是画个图,摘--插)
再就是大概他在看博客,然后让我写了个
16. 快速排序(大概是在验证博客是不是自己写的)
过程中,一直对我每一个点,实用性(...懵逼,没说出来,勉强说文件压缩.)
总体的差评,感觉就是(没有系统性的一个项目..一个可以将知识点串起来的项目....)
然后,后来10多分钟都在赶着走..时间过了.走之前还说(你都超了时间了) 用时一个小时.
17. 你还有什么问题要问我.
个人知识体系这块,我还有什么缺失的,比如说我感觉我的数据库方面不曾了解...
回答:整体还好,就是项目模块问题.了解的多.实践性,实用性项目比较少.
自我总结
1 语言组织.表达欠缺
2 项目实践略不足
3 在面试官沉默的时间里(可能实在整理记录面试过程,也可能是在等待回答). 应该做到什么程度,才会不尴尬,而又不被认为罗嗦.
4 回答问题的点,把握不够准确(就这个面试官而言.说的都比较"含蓄",你不知道他想问什么)
5 我真的罗嗦么?