一次面试

来源:互联网 发布:知轩藏书论坛 编辑:程序博客网 时间:2024/05/12 11:24

准备的是c++服务器的方向,因为之前没有相关的开发经历. 所以一开始的面试经历不是很顺利,这是一次挺过三面的面试,特此将面试的内容记录下来,以供后续的参考.

一面:

自我介绍
你说一说c++有哪些新特性吧(简历里面有)?
说了一堆,面试官从中挑了下面两个问题
说一下左值和右值的区别?
右值提到移动构造函数
那你说一下移动构造函数解决了什么问题?
你知道移动和转发语义码?
你说下lambda表达式?
stl那本书看过么, 你说下hash函数?
new操作符可以重载码,应该注意哪些问题?
linux当中进程和线程是如何实现的,用了什么样的系统调用?
有读过开源项目比如linux或者redis的源码吗?(并没有阿)**
mysql熟悉吗,里面的索引是怎么实现的?(扯B+ B树)
为什么用B+树不用B树?(扯一堆)
用B+树最主要原因是什么?
你说一下虚函数的各种情况实现?(各种情况)
那问你一个问题, 虚函数表在内存的什么位置,在数据段,代码段堆还是栈?(掰扯了好久)
锁熟悉么,锁是怎么实现的, 或者说如果不用信号量,原子计数如何我实现?
网络编程熟悉吗(不熟悉),恩,unix网络编程那本书还是要翻一下的?
今天面试就到这里,后续消息会再通知

二面

自我介绍
给定1忆个url,怎么在这些url当中选取包含给定字母的url?(这个问题扯了将近30到40分钟,然后给出解决方案不断优化)
c++的知识熟悉哈,你知道lambda表达式吗, lambda表达式有多少种捕获参数的方式?*
线程安全的知识熟悉吗, 线程安全和可重入有什么区别,可重入一定是线程安全的吗,线程安全一定是可重入的吗?
B+树有什么优势?
看过哪些技术书籍?
平时有哪些爱好,性格如何?
你有什么问题要问我么?
好的今天的面试就到这里了

三面

自我介绍
你说下TCP为什么是三次握手,四次挥手?
TCP半关闭的状态是哪一个?
TCP和UDP可以伪装IP么(扯到syn攻击)?
伪装的IP发送给服务器可以建立起链接吗?
给你出个题,给定一堆电话好吗,要求快速查找某个号码在不在里面(衍生出很多问题,聊了20分钟)
再出一个,要求你设计一个思路,解决每次向服务器请求会返回一个id,id是严格递增的(衍生很多问题,30分钟左右),
如果不严格递增的怎么办?
如果请求量很大怎么办(加服务器,主从服务器)
如果有很好的可扩展性,要加一台服务器不需要程序重新设计,如何设计方案?
说一下你了解的设计模式
linux怎么样,写过makefile么,平时在linux下开发吗
python怎么样
最多项目的代码是哪一个,超过一万行了吗?
好,今天的面试就到这里