https://github/frank-lam/2019_campus_apply  这里面包含大佬总结的所有的知识点。

    研发岗位考察知识点多,无论C++岗位还是java岗位,考察知识点除语言之外,都相同。笔者看过牛客网很多面经,收获很大总结一下几点 。复习重点从前到后递减。

     1  数据结构与算法。 无论实习还是秋招,无论科班还是非科班,无论算法还是研发,都逃不过数据结构与算法,数据结构与算法作为程序员的基本功,是非常重要的。复习方法。剑指offer+leetcode。剑指offer66题的重要性已经不用多说了,剑指offer刷完两到三遍,再把书过一遍,熟记于心,无论笔试还是面试手撕代码应该没问题。推荐视频慕课网算法视频+牛客网算法视频。推荐书籍(算法第四版)。一般压轴常考题型(背包问题,矩阵链乘,最长上升序列,最长公共子串)

  • 剑指OFFER的各个题目是最常见的,即使不是原题也是题目的变体,因为面试不像笔试,一般不会出特别困难的题目,所以剑指OFFER上小而精的题目就非常适合。建议手刷一遍。PHP的同学可以参考专栏剑指OFFER
  • 二叉树相关(层次遍历、求深度、求两个节点距离、翻转二叉树、前中后序遍历)
  • 链表相关(插入节点、链表逆置、使用链表进行大数字的加减,双向链表实现队列、寻找链表中的环)
  • 堆(大量数据中寻找最大N个数字几乎每次都会问,还有堆在插入时进行的调整)
  • 排序(八大排序,各自的时间复杂度、排序算法的稳定性。快排几乎每次都问)
  • 二分查找(一般会深入,如寻找数组总和为K的两个数字)
  • 两个栈实现队列。
  • 图(深度广度优先遍历、单源最短路径、最小生成树)
  • 动态规划问题。
  • 深入
  • 红黑树性质
  • 分治法和动态规划的区别
  • 计算时间复杂度
  • 二叉树和哈希表查找的时间复杂度
  • 栈和链表是面试算法的时候经常用到的工具,多考虑怎么用数据结构的性质解决,因为面试不像笔试,对基础数据结构关注的比较多一些,一般问题也比较简单。然后取模也是常用的工具(比如有一次问怎么让100个进程按规定的权重被调用,就可以用取模的方式)。
  • 面试官一般会先出简单的问题,然后深入地问下去,最好是根据他的思路走,因为能听懂他的提示也是需要考察的能力。

    2 语言,这里主要分java和C++,其他语言后台开发应该比较少(可能笔者见识少),这里讲讲java语言。java基础知识总结见笔者博客java基础知识总结,复习方法,保证基本语言功底前提下,多看博客,多刷题,多总结。推荐书籍  java核心技术卷I,  java核心技术卷I,深入理解java虚拟机(必看),java并发编程艺术。

    3 计算机网络  。计算机网络作为笔试常考题之外,面试也是被问及最多。推荐书籍 图解HTTP ,图解TCP/IP,推荐视频网站  中国MOOC。刷题:牛客网。常考知识点汇总。

  • 基础部分
  • TCP报头格式
  • UDP报头格式
  • TCP/UDP区别(不仅是宏观上的,最好能根据各自的机制讲解清楚)
  • HTTP状态码(最好结合使用场景,比如在缓存命中时使用哪个)
  • HTTP协议(一些报头字段的作用,如cace-control、keep-alive)
  • OSI协议、TCP/IP协议以及每层对应的协议。
  • SESSION机制、cookie机制
  • TCP三次握手、四次挥手(这个问题真的要回答吐了,不过真的是面试官最喜欢问的,建议每天手撸一遍,而且不只是每次请求的过程,各种FIN_WAIT、TIME_WAIT状态也要掌握)。
  • 打开网页到页面显示之间的过程(涵盖了各个方面,DNS解析过程,Nginx请求转发、连接建立和保持过程、浏览器内容渲染过程,考虑的越详细越好)。
  • http和https区别,https在请求时额外的过程,https是如何保证数据安全的
  • IP地址子网划分
  • POST和GET区别
  • DNS解析过程
  • 深入部分
  • 13. TCP如何保证数据的可靠传输的(这个问题可以引申出很多子问题,拥塞控制慢开始、拥塞避免、快重传、滑动窗口协议、停止等待协议、超时重传机制,最好都能掌握)
  • 14. 地址解析协议ARP
  • 15. 交换机和路由器的区别

    4 操作系统。常考知识点。

  • 内存的页面置换算法
  • 进程调度算法
  • 进程间通信方式
  • 进程线程区别
  • 进程之间的通信
  • 父子进程、孤儿进程
  • fork进程时的操作,

  5 数据库 

   推荐书籍 Msql必知必会,高性能Mysal ,

  6 linux

 推荐视频:鸟哥私房菜

 7 项目

 牛客网中级项目+高级项目+设计模式+spring技术内幕+深入理解java技术内幕

最后,在单项知识点个个击破之后,看面经,总结面试常考问题,总结五十篇面经,基本面试官的问题应该都会,常考的问题记忆加背诵加理解。当然不用忘记最重要的是剑指offer,刷题,刷题,刷题。提前复习,提前准备。提前准备。(笔者也是菜鸡,以上纯属面经总结)

更多推荐

计算机基础知识汇总 (java语言+数据结构与算法+计算机网络+操作系统+计算机网络+数据库+linux+项目)