腾讯面经

第一次身边同学腾讯的面经,和我大致方向一样所以这次花大量时间对于所学到的内容进行分析。
3.9号我在洗澡的时候,一个广东深圳的小哥哥打电话给我。。
我当时说我在洗澡他就问我约个时间,可以是现在每天或者下周都可以。我就说明天吧。
3.10号早上10点30他打电话给我了。。有点紧张。
1. 自我介绍
介绍完了就从我简历第一条一直往下问
2. 说一下c/c++源文件如何从代码变成可执行程序的(程序的编译链接)具体参见编译链接的文章以及程序员的自我修养
3. 常用的数据结构有哪些?链表数组 树图
4. 数据结构排序和查找算法你知道的有哪些?各个的时间复杂度和空间复杂度?
插入 交换,冒泡 shell 堆排 快排 归并 基数 
稳定的有冒泡 插入 归并是稳定 归并和基数是稳定
时间复杂度 插入的平均时间复杂度是o(n2) shell 是对插入的优化具体位o(n1.3) 两者的空间复杂度都是o(1)
对于冒泡和快排而言快排的时间复杂度平均o(n2)快排的时间复杂度是o(nlog2 n)  两者的空间复杂度是o(1)
对于交换排序的的平均时间复杂度是o(n2) 而对于堆排时间复杂度是o(nlog2n)空间复杂度是o(1)
对与归并排序而言平均时间复杂度是o(nlog2n) 它的空间复杂度是o(n

5. 快速排序的实现?
6. 快速排序非递归如何实现?
具体参考排序的那个博客;
7. 快速排序是稳定的吗?排序的稳定性是如何定义的?
不是稳定的,如果一个数组中有两个相同的数字 排玩前他们的数据和排玩后的顺序是一样的。
8. C++的STL中的vector说一下
vector是顺序容器,类似于我们平时用的数组,但是它是可以动态增加的数组。
9. vector初始化10个大小,之后push_back超出了怎么办?
如果push_back 而言超出的问题具体的首先得搞懂resize和reserver 
    vector<int> vec;
    vec.capacity()//容器的整个大小
    vec.size()    // 数据部分的长度
    resize用来改变vector的size,有可能也会改变capacity。如果改变后的size比当前capacity大,则capacity会变大,同时构造出多出来的对象;反之,capacity不变,同时析构一些不再需要的对象。
 对比:   
   1. reserve()和resize()都不会使capacity变小,但都有可能使capacity变大。
   2. reserve()能准确控制capacity,而resize()不能,vc里是每次增大当前capacity的一半。
   3. resize()有数据元素的构造,reserve只管容器大小

而reserver是调整容器cpacity的大小的。

10. map底层(下面I、红黑树的五个性质:
1)每个结点要么是红的,要么是黑的。
2)根结点是黑的。
3)每个叶结点,即空结点(NIL)是黑的。
4)如果一个结点是红的,那么它的俩个儿子都是黑的。
5)对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点。肯定就是红黑树了)

11. 红黑树有了解吗?说一下你对红黑树的理解。
12. Linux下常用的命令有哪些
13. 查看一个进程打开的文件怎么查看
lsof -p pid进程打开了那些文件

pstack pid 进程的堆栈信息

strace -p pid 查看进程所调用的系统调用

ltrace -p pid 查看进程所调用的库函数

pmap 查看虚拟地址空间的使用情况

14. 如何查看指定进程打开的端口号
netstat -natp | grep pid
15. linux系统编程,说一下IO复用poll,epoll
(我讲了一下区别和大概实现,我说我剖析过底层源码问他要听的话我可以进行说然后他没问了
有点后悔,挺熟悉的一块没有讲,就应该直接将底层的)
16. 听说过哪些http服务器(我说了apache/nginx/lighttpd)
17. 使用哪些?.....我懵逼了说用过Apache
18. tcp的五层结构
19. tcp的建立和断开(三次握手四次挥手),最后说道TIME_WAIT状态结束
20. 他问TIME_WAIT状态持续多长时间,为什么会有TIME_WAIT状态
下面问项目相关的,
21. 大概讲一下这个项目负载均衡是干嘛的?
22. 半同步半异步模型说一下。(因为我简历上写了)
23. 如果一个客户端请求异常是如何处理的?我不是很懂他的意思,我问了是不是http请求报文异常,他说可以这样理解吧,然后我就说了。
24. 然后他又说这个客户端如果请求连接之后再无响应怎么办?我说我设置keepalive保活了。
25. 后来他问对数据库了解吗?
26. 后来问听说过redis和memcached吗,我说我之前研究过memcached的内存管理,他没继续问
27. 问从memcache中读数据比mysql快吗?为什么快啊?(我有点虚,说了看在memcache中是否命中数据。。还有内存比磁盘快。。我虚了,对这块不是很了解)
28. 那从内存读数据一定比磁盘快吗?(彻底崩溃)
29. 然后说内核源码这块他不是很懂,先不问了。大概就这样了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值