腾讯笔试的内容都是我们计算机系的基础知识,包括数据结构、数据库、操作系统、组成原理、计算机网络、java/C++等语言。
选择填空:sizeof/union在32位操作系统中的字对齐方式,继承和派生类,操作系统LRU算法,UNIX中文件的umask权限问题,操作系统中由逻辑地址找物理地址,文件索引问题,二叉查找树,邻接图(表)的深度遍历,网络编程中socket问题,递归(计算函数的调用次数),死锁避免(最小资源分配)问题,内联函数,服务器性能分析(CPU,内存,磁盘IO等影响因素),顺序表的特点,单循环链表求长度和判断是否为空链,二路归并排序,佛洛依德算法。
附加题:设计并发控制,对位于不同地区的数据库进行控制,保证数据的一致性。(可以有一个主数据库,其他地区的数据库为其复制,修改操作完成后复制回主数据库;也可以是一个地区有一个数据库,操作后各个数据库之间进行互相复制)
电话面试题目:
1. 异步通信和同步通信的区别?
2. TCP协议的作用?三次握手是通过什么方法来保证通信双方确认的正确?
3. 操作系统执行可执行程序时,内存分配是怎样的?
4. 引用和多态的区别?
5. 堆和栈的区别?
6. 进程之间通信的方式有哪些?
7. 面向对象的三个特征,分别有什么作用?
8. 虚函数的实现机制
9. 如何判断一棵树是平衡二叉树
10.sizeof在计算变量所占空间大小时采取的机制
11.结构体struct和联合体union的区别
12.目前效率最好的内部排序是什么
一面题目:(因为比别人多了一个电话面试,所以一面的问题不再只是纯技术方面的)
1. 简单自我介绍(主要讲自己的特长、性格特点、优缺点)
2. 大学期间自己做过的最成功的一件事
3. 如果遇到一个以前完全没接触过的技术,会怎么去学习
4. 接下来的学习计划是什么
5. 觉得大学里最难学的课程是什么
6. 如何统计深圳市便利店的数目,说思路
7. 如果你一个人在一间偏僻且设备简陋的酒店,某天晚上很晚,你突然想吃烧烤,你会怎么做?(旁边没有烧烤店,旅馆也没有工具,你住的地方离有烧烤店的地方很远,而且你也不知道怎么去,贸贸然出去可能会有危险,你会采取什么方法让自己可以安全地吃到烧烤)
8. 重载和覆盖的区别是什么
9.MySQL数据库中,如何查看一个表的表结构,如何查看其主键(说出查看的命令)
10.数据库的读脏活存放数据库的磁盘出现灾难性事故,有什么方法可以避免
11. 现场手写代码,实现一个双向循环链表的增删查操作
(其他忘记了)
二面题目:
1. 简单自我介绍
2. C++和Java的区别,JVM是什么,具体用来做什么
3. 图像处理中位图BMP的格式是怎样的(这个是针对我的图像识别项目来的)
4. Windows编程的知识点,如消息机制,一个自定义消息如何实现
5. 简单介绍一下Java中的集合框架(有哪些类构成和包括哪些接口)
6. 如果是自己为一个类写一个sizeof函数,应该考虑哪些问题
7. 虚函数和虚继承对于一个类求sizeof的影响有什么差别
8. 说一下为什么觉得自己适合做开发
9. 求最大子串和,说思路
10. Linux后台开发问题(表示没接触过,题目没听懂,囧)