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

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

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

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

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

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

    5. 容器类:hashmap与hashtable的区别,arraylist与linkedlist的区别

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

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

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

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

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

    11. TCP与UDP的区别,为什么说TCP能提供可靠数据传输?

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

    13. http与socket区别

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

    15. 指针和引用的区别

    16. 内存优化

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

    18. 数据结构:

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

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

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

    1. 对象锁和类锁

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

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

    4. 深拷贝与浅拷贝

    5. 异常处理

    6. 数组指针与指针数组

    7. 什么是重载,什么是重写,二者区别

    8. 哈希表和哈希函数

    9. ARP的作用,为什么要用ARP?

    10. 网络层ICMP,其应用:traceroute和ping

    11. 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. TCP与UDP的概念,相互的区别及优劣。

    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模式

    继续更新中。。。
    ————————————————
    版权声明:本文为CSDN博主「@谷哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/guhong888/article/details/82868763