一个非科班渣渣的腾讯暑期实习后台开发面经,凉凉
看到上一年秋招师兄师姐匆忙的求职过程
题目如下(按照顺序问的,大概30分钟结束了):
2. 描述下你理解的TCP与UDP协议有什么差别?(这个看了IP/TCP图解,总结了下,所以答得上来)
3. 什么场景下比较适合UDP协议?
4. TCP怎么样做流量控制?
5. TCP断开连接会有4次挥手的过程,4次挥手中有个状态是time_wait?你了解过吗?(前天刚才看到)
6. TCP断开连接一定要4次挥手吗?接收端fin包和确认应答能不能一起发生?
7. http协议中的post和get的区别(之前看到过,实在记不住了,所以尴尬的说不太记得)
8. http的状态码345开头的状态码分别代表什么?(也记不住,直接的403,服务器拒绝,尴尬)
9. 有了解过https协议吗?
10. htpps用什么加密?(我记得需要加密,然后记不清用什么加密,然后搞混淆了,答了ssh,其实是TLS加密)
11. 哈希表解决冲突的方式?(昨天至少看了3遍,还是记不住,真想扇自己几巴掌)
12. 栈和队列这两种数据结构分别有什么作用?(只答上来一些基础)
13. 快速排序整体的流程是怎么样的?
14. 快速排序时间整体的复杂度是多少?最差情况是多少?
15. 有没有听说过跳跃表这种数据结构?(没听过。。。。)
16. 有没有了解过红黑树?(回答了弱平衡,有序,通过旋转变色调整平衡。。。。)
17. 红黑树数据查找的时间平均复杂度?
18. 红黑树和二叉搜索树主要的区别在哪里?(说了二叉搜索树可能会退化成链表)
19. 数据库方面有没有使用过?(我直接说了没怎么了解,就没继续问了。。。这个真的没了解,不是本专业的劣根出现了)
20. 在操作系统里面一个进程可能会出于什么状态?(不晓得。。。。)
21. 进程间有什么通讯方式?(只说了三个,管道,消息队列,套接字socket)
22. 有没有接触过linux下面的网络编程?(实话实说了,没试过)
23. 你了解的进程和线程有什么区别?
24. linux下什么命令可以查看所有进程?(还是记不得)
25. 描叙下常用的linux命令(这时候脑袋有点昏了,只说了cd,ls...真的尴尬)
26. 在linux系统下使用gcc编译c++,若程序跑挂了怎么找到程序里面的问题?(渣渣的我答不上来)
27. 有没有办法把出错的现场保留下来,然后事后去定位问题?(面试官试图提醒我,还是记不起来)
28. 有没有使用过gdb调试器,如果程序跑挂了怎么去查看?(面试官已经提醒到这个份上了,虽然我确实用过不少gdb调试器,还是不懂)
29. 编写一个类的时候编译器会默认为我们生成什么函数?
30. 复制构造函数和重载操作符有什么不一样?
31. 你知道虚函数表有什么作用吗?
32. 给你一个长度为N的无序数组,然后找出里面最大的K个数(这个我真的想锤自己,这个应该是快排,我自己说了堆排,堆排也可以,但是说不清具体流程,问堆的大小申请多大,没自信了。后面想到快排想换,也没信心说了。。。)
33. 爬楼梯问题,你可以一次爬1层或2层,如果有n层楼梯,一共有点多少种解法?(这个很简单我回答了斐波那契数列,然后说了下递归思路,面试官细问怎么实现,我就说了用数组保存计算的值,然后循环解决,会节省重复计算的实际)
34. 跳台阶循环计算的方法的时间复杂度和空间复杂度
总结一下:
其实问的问题也很简单,很基础。可能是看我不是计算机专业的吧,很多不懂得时候也安慰我说没关系,问的也是越来越简单。。。这点还是谢谢面试官
#腾讯2021实习##腾讯##实习##C++工程师##面经#