面试复习重点——数据结构、操作系统、计算机网络、数据库。

必看书籍:剑指offer程序猿面试宝典

来自:腾讯、搜狐、网易、烽火、百度、大众点评、美团、风行


1. 死锁是什么?什么情况下产生?怎么解决?

2. 设计模式(尤其是单例模式,要会写该模式的程序框架,要注意同步问题,怎么实如今要用时才创建)

3. 线程的同步?为什么要同步?线程间通信方式。

4. 进程与线程的差别,进程间通信方式。

5. 容器类:hashmaphashtable的差别。arraylistlinkedlist的差别

6. 为什么要用多线程,实现多线程的两种方式。有什么差别?

7. JNI接口,C++extern C的作用

8. C的内存分配,C中堆的内存分配

9. 指针:int (*s[10])(int)解释其含义(课本上有)

10. Volatile的作用:保存特殊地址的稳定訪问。直接从内存中读值(而不是寄存器:编译器优化后的结果。即訪问频度高的变量会先存放在寄存器中,以便提高效率)

11. TCPUDP的差别。为什么说TCP能提供可靠传输数据?

12. TCP三次握手和四次挥手,为什么要三次和四次?

13. httpsocket差别

14. 内部类,静态内部类和非静态内部类的差别

15. 指针和引用的差别

16. 内存优化

17. 数据库:索引的优缺点。什么是事务,事务的特性

18. 数据结构:

1) 排序算法(时间复杂度、空间复杂度、稳定性、会讲思路、写代码)

2) 二叉树。遍历方式,通过二叉树的先序遍历和中序遍历,得到其后序遍历(思路+程序)

3) 链表:单链表和双链表,链表逆序输出

19. 对象锁和类锁

20. TCP中怎么保证数据无差错传输的。校验和是怎么得到的?

21. 什么时候会使用TCP,什么时候使用UDP?(结合应用层的一些协议)

22. 深拷贝与浅拷贝

23. 异常处理

24. 数组指针与指针数组

25. 什么是重载,什么是重写,二者差别

26. 哈希表和哈希函数

27. ARP的作用,为什么要用ARP

28. 网络层ICMP,其应用:tracerouteping

29. TCP的拥塞控制方式、流量控制方式

1、 你常常逛的论坛,国外的站点。开源码站点


一:操作系统


1. 进程的有哪几种状态。状态转换图,及导致转换的事件。

2. 进程与线程的差别。

3. 进程通信的几种方式。

4. 线程同步几种方式。

(一定要会写生产者、消费者问题,全然消化理解)

5. 线程的实现方式. (也就是用户线程与内核线程的差别)

6. 用户态和核心态的差别。

7. 用户栈和内核栈的差别。

8. 内存池、进程池、线程池。(c++程序猿必须掌握)

9. 死锁的概念,导致死锁的原因.

10. 导致死锁的四个必要条件。

11. 处理死锁的四个方式。

12. 预防死锁的方法、避免死锁的方法。

13. 进程调度算法。

14. Windows内存管理的方式(块式、页式、段式、段页式).

15. 内存连续分配方式採用的几种算法及各自优劣。

16. 动态链接及静态链接.

17. 基本分页、请求分页储存管理方式。

18. 基本分段、请求分段储存管理方式。

19. 分段分页方式的比較各自优缺点。

20. 几种页面置换算法。会算所需换页数。(LRU用程序怎样实现?)

21. 虚拟内存的定义及实现方式。

22. 操作系统的四个特性。

23. DMA

24. Spooling

25. 外存分配的几种方式。及各种优劣。


二:计算机网络


1. 电路交换与分组交换的差别? 优劣对照。

2. OSI有哪几层,会画出来。知道主要几层的各自作用。

3. TCP/IP有哪几层,会画出来,知道全部层数的作用。会列举各层基本的协议名称。

4. 硬件(MAC)地址的概念及作用。

5. ARP协议的用途 及算法、在哪一层上会使用arp 

6. CRC冗余校验算法,反码和检验算法。

7. 怎样实现透明传输。

8. 知道各个层使用的是哪个数据交换设备。(交换机、路由器、网关)

9. 路由表的内容。

10. 分组转发算法。

11. IP报文的格式,格式的各个字段的含义要理解。

12. MTU的概念。啥叫路径MTU? MTU发现机制。TraceRoute(了解)

13. RIP协议的概念 及算法。

14. ICMP协议的主要功能。

15. 组播和多播的概念,IGMP的用途。

16. Ping协议的实现原理,ping 命令格式。

17. 子网划分的概念,子网掩码。

18. IP地址的分类,怎样划分的,及会计算各类地址支持的主机数。

19. DNS的概念。用途。DNS查询的实现算法。

20. TCPUDP的概念,相互的差别及优劣。

21. UDP报文的格式,字段的意义。

22. TCP 报文的格式,字段的意义。

23. TCP通过哪些措施。保证传输可靠?

24. 三次握手。四次断开过程。

25. TIME_WAIT状态的概念及意义。

26. 滑动窗体协议 与 停止等待协议的差别。

27. TCP的流量控制和拥塞控制实现原理(会画拥塞控制的典型图)

28. TCP的高速重传与高速恢复算法。

29. TFTP 与 FTP的差别。

30. 堵塞方式和非堵塞方式。堵塞connect与非堵塞connect(比較难。有兴趣能够了解)

31. HTTP基本格式。(java程序猿必须掌握)


三:设计模式


1. 各种经常使用模式的用途。用法。

2. 单例模式的双重检查实现。

3. MVC模式


继续更新中。。。

原文地址:https://www.cnblogs.com/yangykaifa/p/7183501.html