腾讯后台开发实习⾯试题⽬⼤全
C++: 1 :C++多态的实现⽅式,虚函数的底层实现细节。 2:继承类调⽤构造函数顺序和析构函数顺序,什么时候要将 析构函数定义为虚函数。 3:引⽤与指针区别 4:new 与 malloc的异同处。 5:结构体内存对齐⽅式。
算法与数据结构: 1:给⼀个正整数n,现在想将n分成若⼲个正整数,使得它们的乘积最⼤。 2:经典的n个数求前k⼤的数。分两种情况,第⼀是没有相同的数,另外⼀种是有。 3:和百度⼆⾯问的⼀模⼀样,两个⽂件A和B,求A中没有但B中有的单词。
⽹络: 1:TCP与UDP区别,三次握⼿,四次挥⼿。。
1、代码在内存中的分布都有哪些区,宏定义存在刚才你说的哪个区域?堆栈有什么区别啊,堆中的数据会回收吗,malloc和new有什么区别?
2、说⼀下虚函数表是什么(C++后台开发必问),为什么析构函数都是虚函数,不这样会怎么样?
3、多态和重载都是什么?
4、知不知道现在C++现在发⾏到那个版本了?C++11有哪些新特性?
5、算法题问了三个,100万数据top k,判断⼀个数是不是2的幂,两个单链表有公共节点,出第⼀个。
6、TCP三次握⼿、四次挥⼿、超时重传。
7、Linux现在发⾏到哪个版本了?你⼀般⽤Centos还是Ubuntu啊,为什么?
8、Linux下查看内存使⽤命令是什么?查看负载的命令是什么?
9、SVM怎么分类的,有哪些核函数,如何优化SVM?
10、word2vec怎么实现的?
11、你有什么想问的?
1、c++虚函数和纯虚函数有什么区别,分别应⽤在什么场合?
2、⼦类析构会调⽤⽗类的析构函数吗?执⾏顺序是什么?
3、程序的内存分布。
4、知不知道桶排序和希尔排序,希尔排序和快速排序区别。
5、画出TCP的三次握⼿,为什么⼀定要三次,两次会有什么后果?
6、SQL语句,查询两个数据库表中ID相同的信息。
7、STL⽤过吗?map和hashmap的区别,查的时间复杂度分别是多少?
8、⼿写两道算法题:⼆分查和⼀个很简单的⼆维数组搜索。
9、场景题:现在要完成⼀个微博评论的部分,想在⽤户进⼊新闻时优先看到⾃⼰好友对此新闻的评论,好友可能有多条评论,怎么设计结构。
10、智⼒题:36匹马6个跑道⽆秒表选前三,最少跑⼏轮。特别关心
11、你有没有什么想问的?
2、Linux下如何查看⽹络中服务器状态?
3、Linux下TCP服务器都有什么状态?
4、Linux下TIME_WAIT和CLOSE_WAIT区别是什么?
5、知道epoll和select吗?
6、创建⼀个TCP服务器的步骤是什么?
7、端⼝是⼲什么⽤的?
8、知道哪些排序算法,说⼀下时间复杂度,快速排序什么情况下时间复杂度最⾼?
9、图中的最短路径问题怎么求、迪杰斯特拉算法和弗洛伊德算法的区别有哪些?
10、B树和B+树的区别有哪些?
11、操作系统中的PV操作是做什么⽤的,能否举个例⼦?
2)Web编程项⽬:
· 是否⽤了SpringMVC框架
· ⽤的哪⼀个HTTP版本
· 列举HTTP Header中的字段
· ⼀个⽹站如何判断⽤户访问是来⾃于PC端还是移动端
·
如果⽤户量⼤的话,什么扩展机制可以⽀持⽹站的正常运⾏
· 聊天室功能中,服务器端是否有采⽤数据推送的⽅法
· 服务器宕机的处理机制
3. 技术基础
1)Hadoop:
理科专业有哪些
· Hadoop的HDFS架构及内部机制
· 如果NameNode宕机了,还可否继续运⾏?
2)数据库:
· MySQL引擎有了解吗
· InnoDB索引底层数据结构
· B+树实现索引的原理、优点
3)计算机⽹络:
· ⽹络安全⽅⾯的协议是否了解(HTTPS SSL的加密机制)
· TCP和UDP的区别
· TCP运输层和⽹络层的职能
· TCP拥塞控制机制
· TCP/IP中路由是哪⼀层实现的,路由的原理是什么?
4)Java基础:
· HashMap的原理,是否为线程安全的?
· 线程安全的HashMap实现⽅法(ConcurrentHashMap)
· Java同步/异步IO
· Java多态及背后的实现机制
5)算法:
给定⼀个⽆序数组,查中位数
最后⾯试官会问你有没有什么想要问他的,强烈建议⼤家在此时问⼀下事业及部门的名称、业务,这样利于第⼆轮⾯试,⽐如根据不同业务有侧重地去复习⼆⾯。另外,⾯试你的组是因为你的简历某种程度上跟该组业务有契合之处,才发起⾯试,所以⼀定是你通过全部⾯试后要进⼊⼯作的组。
· 如果让你⾃⼰设计⼀套⽹络层的传输协议,都需要考虑哪些⽅⾯,为什么要这样设计?(不要⼀直说TCP的东西,⾯试官说TCP也有TCP的缺点)
· 以⼤型⽹站为例,你认为如果想设计⼀个稳定、⾼效的后台,都需要有哪些部分以及各部分的要点?
· 从⽤户在浏览器中输⼊⼀个url并点击回车,到浏览器界⾯出现内容,都发⽣了什么?
1、析构函数
2、操作系统内存管理
3、Linux指令
4、Tcp/ip
5、TCP协议
1、快排
2、堆排(⼤、⼩)
1. ⾃我介绍
2. 排序的稳定性是什么,什么样的排序是稳定的?
3. 对C++的学习掌握情况怎样?
4. ⼀个C++程序从编译到运⾏都经历了哪些阶段?
5. C++的特点是什么?
6. C++多态是怎么实现的?
7. static和const关键字是⼲什么的?
8. 举例⾃⼰熟悉的设计模式,并且解释观察者模式
9. 设计模式在平时应⽤的情况
0. tcp udp位于什么层,有什么区别?
歌手迪玛希1. linux命令的举例
2. ⼀个32位机器上linux进程最⼤可以申请多少空间?
3. ⼤端法和⼩端法指的是什么?在纸上写⼀个程序进⾏验证
4. 对java和mysql的询问
5. 平时爱读什么技术书?
6. 平时爱不爱玩游戏,对做游戏抵触不抵触?
⾃我介绍
介绍项⽬以及项⽬遇到的难点
java的hashmap是否安全?hashmap、hashtable、concurrenthashmap的区别、底层和实现
朱迅现在身体状况怎么样mysql索引的底层实现梦见死老鼠
飞机上可以带酒吗jvm垃圾回收机制
tcp、udp区别和适⽤场景
tcp三次握⼿、四次挥⼿,为什么挥⼿不能只有三次
线程和进程的区别
进程通信的⽅式有哪些
堆是线程共有还是私有,堆是进程共有还是私有,栈呢
了解过协程吗(我:协程不了解呜呜呜)
mysql查询优化
快速排序的时间复杂度、原理(⼝述算法)
最近在看什么书
除了腾讯还投了其他的公司吗
问我愿不愿意转go,并推荐我了解⼀下协程,最后让我耐⼼等待,⾯试的⼈太多,需要对⾯试的同学进⾏挑选,两周内会告知我结果有什么想问的(对我的评价和学习建议)
⾃我介绍
问我为什么发现⾃⼰不喜欢做客户端(简历中有⼀个安卓实习项⽬)⽽想做后台
介绍项⽬(⼀个电商⼩程序)
项⽬中的商品是否有考虑过xxx(忘记叫什么了,意思就是是否有考虑过同⼀种商品有不同的颜⾊、规格,在数据库中如何区分这些不同)
介绍项⽬的⽀付流程,并画⼀下流程(⽩板)
介绍⼀下订单状态码的含义,以及交易过程中订单状态码如何变化
如何防⽌商品的超卖现象
项⽬是否具有秒杀功能
并发的时候,如何保证性能
在分库之后,如何设计id
在分库后,⼀条插⼊请求,在上层不做处理,如何直接在数据库到相应的库并插⼊库中的某个表当服务器的cpu⼀直很⾼时,如何出原因
是否⽤过调试⼯具
当项⽬⼀直⽆法访问的时候,如何定位错误
介绍⼀下aop和ioc
如何将⼀个ip地址由点分制(x)和int类型间进⾏相互转化
如何判断⼀个数是否为2的n次⽅
可实习时间
是否愿意转go
有什么想问的(对我的评价和学习建议)