腾讯TEG后台面试经历,跪。。。
腾讯TEG后台开发
1. 自我介绍一下
2. 说一下栈变量、全局变量、静态变量的区别,他们所处的内存中的位置
3. 内存对齐问题:
Struct{
Short a;
Char b;
Int *c;
Unsigned long d;
}
32位:a-2, b-1, c-4, d-4
64位:a-2, b-1, c-8, d-4
默认对齐方式下,求64位系统下大小,32位系统下的大小
4. Strcpy函数,实现?调用出现问题?memmove实现。如果目的地址的内存不够,会出现什么问题。
5. 链表,有哪几种链表?讲解一下。
6. List问题(数据结构和算法问题)。一个链表,有两个线程同时对它进行分别操作插入和遍历。如果不同同步和互斥怎么实现,如果不用信号量怎么实现?
7. TCP三次握手和四次挥手。
8. 三次握手SYN包中有啥?如果SYN包发的序号为1,那么第三次发送的ACK中的序号是多少?(客户端往服务器发送的ACK)
9. TCP的状态转换11种状态?有哪些?time_wait状态。
10. 网络编程中send函数,怎么实现的?它的阻塞和非阻塞模式?讲一下如果要用send发送数据,实现的过程是怎样的?如果send发送出错,怎么判断是否出错?如何知道是什么出错了?
11. 设计一个IP管理系统管理IP地址(说一下设计的数据结构,操作复杂度),操作有插入、删除、查找、个数、查询等操作。
12. STL问题。Vector和List, 分别的插入、删除、查找的操作复杂度。
13. 上述设计题,自己不用STL怎么去实现。
14. 关于FTP服务器的。怎么实现的,系统设计,多线程多进程的区别,线程共享进程哪些东西?线程同步方式,进程同步方式,进程通信方式,主要问了共享内存问题。共享内存在哪儿?共享内存中访问怎么实现同步?全特么是进程线程,好好看吧。