一、自我介绍二、了解C++的STL吗?    1.vector的底层是如何实现的?        (√)    2.vector初始默认申请多大的内存?        (不知道。)    3.map的底层是如何实现的?        (√)    4.红黑树是什么样的数据结构?        (√)    5.list的底层是如何实现的?        (答是双向链表,应该√)    6.为什么要用双向链表,单向不可以吗?        (没说出来原因TAT)三、实习相关    1.先是问了实习项目相关的,因为是面试官没接触过的领域于是滔滔不绝,反正说错了他应该也听不出来。    2.那你对redis和mysql有了解吗?        (只是用过图形界面,没有系统学习过。)    3.你有涉及到多线程通信的问题吗?怎么保证线程安全的?        (支支吾吾只能说出来用了锁,怎么用的,不知道面试官想问哪方面的知识)四、你了解TCP协议吗?    1.三次握手是什么样的原理?        (√)    2.为什么是3次,不能是2次和4次吗?        (不能是2次答上来了,不能是4次不知道为啥。)    3.断开连接的时候为什么必须4次而不是3次?        (√)五、了解HTTP协议吗?说一下你对HTTP的理解。    没具体提问,只让我说理解,于是开始吟唱。讲了HTTP的报头、讲了HTTP1/1.1/2.0/3.0,QUIC、GET/POST。    面试官问我你是对HTTP研究很多吗?    我说就是学一点连这一点就学了这么多了。    问:为什么学http不学mysql和redis啊?    答:看面经问这个比较多;回学校的时间太短了,想先把简单的解决了。六、手撕一个非递归的快排    以为自己十拿九稳,结果差点没想起来怎么写,写了12分钟。最后还有一些瑕疵,但是以为没法编译,所以面试官大概看了一下思路对就下一步了。但是回来复盘的时候发现一个大问题:面试官要求非递归,我写成递归的了。但是面试官也没说什么,估计他自己也忘了自己的要求了。七、熟悉linux操作系统吗?常见命令熟吗?    1.怎么查看某个文件中有没有某个字符串?        (不知道)    2.查找某个文件夹中有没有某个文件?        (不知道*2)    3.如何查看某个端口有没有被占用?        (不知道*3)    4.了解过管道吗?管道如何实现的?        (不知道*4)    5.查找某个进程在哪个目录下面?        (不知道*5,linux命令全军覆没)八、智力题    某一个二维平面上分散很多个点,判断这些点连在一起是不是一个凸多边形。        我说了两个办法,一个是遍历临近的五个点(3个角),查看它们的锐角在不在同一方向。第二个办法是遍历每个角,去掉他们让他们左右的点连起来,对比这个角是变大了还是变小了。        面试官评价这两个办法都不可行,首先如何相连如何遍历就无法简单的解决。九、反问    1.部门是做什么的?        记得一些关键词:Hadoop、分布式、数据库……        追问:所以mysql和redis比较重要?        答:那倒不是因为这个,只要是后台mysql和redis都重要。如果针对我们部门的话大数据、分布式比较重要。    2.如果我想能胜任这个职位的话,应该往哪个方向学?        (1)linux的命令要熟,这是基本能力,至少要有独立写shell脚本的能力。        (2)MySql和redis还是很需要了解的。十、总结    面试官人很好、很温柔、感觉很尊重人,五星好评。感觉整体问的全面而浅,并没有很深挖的问题(估计也是看出来了我没有几斤几两)。这是我一年以来第一次面试,也是第一次正常的面试(去年的那几次面试都因为啥也不会所以纯是浪费时间),可以说很大的缓解了我的面试焦虑吧,也暴露了很多问题。虽然感觉应该没有二面了,但是很高兴参加了这次面试。#腾讯##面经##csig##实习##后台开发##C++#
点赞 7
评论 6
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务