秋招不易,总结一下知识点回报大家,紧张是后台开拓或者云打算的方向,希望对想拿到BATMD等互联网公司的同学offer有用。
打算机网络:1. OSI七层协议、TCP/IP四层协议
2. 各层对应的网络设备(路由器、交流机、网关、网桥、集线器等等),各层对应的协议

3. 数据链路层的CSMA/CD协议,笔试可能会用到
4. IP地址分类,子网划分(笔试常用)
5. TCP和UDP的差异
6. TCP三次握手和四次挥手,为什么三次握手,为什么四次挥手
7. TCP精髓问题:停滞等待协议、连续ARQ协议、滑动窗口、流量掌握、拥塞掌握(慢开始、拥塞避免、快重传、快规复)
8. 从浏览器输入www.baidu.com到加载出页面发生了什么
9. GET和POST差异
10. HTTP状态码,HTTP1.0和HTTP1.1差异
11. HTTP缓存机制(cache-control、Expires之类的一系列要求与相应报头字段)
12. session和cookie的差异,禁用cookie后怎么办
13. DNS解析的过程
14. 常用协议的端口
推举书本 :打算机网络(谢希仁)
TCP/IP详解
HTTP威信指南
数据库:Mysql:
1. 数据库三范式及判断、E-R图
2. innodb和myisam存储引擎的差异
3. 索引分类(主键、唯一索引、全文索引、覆盖索引等等),最左前缀原则,哪些条件无法利用索引
4. B树、B+树差异,索引为何利用B+树
5. 聚拢索引与非聚拢索引(利用非聚拢索引的查询过程)
6. 事务的ACID(原子性、同等性、隔离性、持久性)
7. 事务隔离级别和各自存在的问题(脏读、不可重复读、幻读)和解决办法(间隙锁及MVCC)
8. 乐不雅观锁和悲观锁、行锁与表锁、共享锁与排他锁(inndob如何手动加共享锁与排他锁)
9. MVCC(增加两个版本号)及delete、update、select时的详细掌握
10. 去世锁剖断事理和详细场景
11. 查询缓慢和解决办法(explain、慢查询日志、show profile等)
12. drop、truncate、delete差异
13.查询语句不同元素(where、jion、limit、group by、having等等)实行先后顺序
14. mysql优化,读写分离、主从复制
15. 数据库崩溃时势务的规复机制(REDO日志和UNDO日志)
Redis:1.发布订阅
2.数据淘汰机制(好几种)
3.字典及渐进式rehash
4.RDB与AOF
5.为何高效(内存数据库、非壅塞IO、IO多路复用、单线程、hash表、跳表等)
6. Redis的几种数据构造
推举书本:MySQL数据库运用从入门到精通
高性能Mysql
Redis设计与实现
Redis实战
数据构造与算法:1. 数组、链表(单向、双向、双端)、栈和行列步队、二叉树、红黑树、哈希表、堆(最大和最小)、图
2. 个人履历:栈和行列步队、哈希表、链表、二叉树的题较多,图的较少
3. 查找:二分查找及其变形
4. 二叉树:前序、中序、后序遍历,按规定办法打印,两个节点之间操作(最近公共先人、间隔)等问题。
5. 最大堆和最小堆:大数量级数据找最大几个等问题、堆如何调度等问题。
6. 图:深度优先、广度优先、单源最小路径Dijkstra,任意两点间最短路径Floyd-Warshall,最小天生树Prime和Kruskal
7. 红黑树:特点及如何调度(基本上没人让你手撸红黑树)
8. 栈和行列步队:常常作为算法题要用到的数据构造
8. 八大排序:3个大略的:冒泡、选择、插入及其优化,5个高等的:快速排序、归并排序、堆排序、希尔排序、桶排序(快排、归并、堆很主要,常常手撸)
9. 韶光繁芜度及空间繁芜度剖析
10. 动态方案dp:这个比较难,背包问题之内的
推举书本:数据构造C措辞版(严蔚敏)
java数据构造和算法(Robert Lafore)
剑指offer及leetcode刷题
大神可以看一下算法导论
Linux:1. 常用命令:用户掌握、权限掌握、进程掌握、系统状态查询之类的
2. Linux状态剖析:CPU(top)、内存(top和free,把稳buffer和cache差异)、磁盘(fdisk和df)、IO(iostat)等
3. grep和sed
4. awk(用好awk,脚本写得好)
5. shell脚本
6. Linux目录构造(尤其是/proc非常主要)
7. linux文件系统构造和启动流程
8. 防火墙iptables(这个比较少)
操作系统:1. 一个二进制文件运行出结果,操作系统做了什么(这是一个很全面的题)
2. 去世锁的条件及银里手算法、资源分配图之类的
3. 进程间通信办法
4. linux的五种IO办法(壅塞与非壅塞、同步与异步的理解)
5. linux的select、poll、epoll的差异
6. 进程与线程差异、内核级线程与用户级线程
7. 页面置换算法,尤其是lru
8. 进程调度算法
9. linux中断相应机制
10. 虚拟内存机制
基本措辞(java PHP):
PHP:1. PHP面向工具的特点和java的不同
2. PHP类内的三个指针的不同(this、类名、self)
3. PHP的自动加载机制
4. PHP的魔术方法
5. PHP的命名空间
6. PHP的垃圾回收机制和存在的问题(环形引用,内存泄露)
7. PHP如何防止SQL注入(Mysqli预编译等)
8. PHP和apache做事器结合的办法
9. fastcgi和php-fpm的端口及事情办法
10 . nginx做事器比较apache做事器的优点和事理(内存映射mmap、event-driven和aio等)
java:1. java面向工具(一大堆知识点)
2. 多线程实现的几种办法(Thread、Runnable、Callable、线程池)及各自的特点
3. java线程的状态及相互转换
4. 线程同步的几种办法和线程间通信
5. 生产者消费者模式
6, volatile关键字
7. J.U.C包的JDK源码(CAS、AQS、ConcurrentHashMap、ThreadLocal、CyclicBarrier、CountDownLatch、Atom、壅塞行列步队等等)
8. String、StringBuffer、StringBuilder
9. 非常处理机制
10.凑集框架底层JDK实现(HashMap和Hashtable差异、Set、List等等)
11. IO(writer、reader、InputStream、OutputStream)、NIO等
12. 四种引用及其差异和利用场景
13. 工具序列化与反序列化
14. lambda表达式
15. jvm虚拟机:内存分区、垃圾回收(三种垃圾回收算法、新生代须生代、垃圾回收器、G1优点等等)、内存溢出、内存泄露排查、JVM调优、类加载机制、双亲委派、内存模型及线程、锁优化
16.设计模式:几种单例模式实现(手撸)、其他几种常见的设计模式(JDK中详细点)、项目中怎么用了
措辞这块知识点太多了,根本要踏实。
推举:设计模式那点事、猖獗java讲义、java并发编程实战、深入理解java虚拟机、java编程思想
其他:hadoop:mapreduce、HDFS、yarn等等(推举:Hadoop威信指南)
hive:很常用的处理工具(推举:Hive编程指南)
行列步队(kafka之类的)、远程过程调用RPC之类,写一些Demo自己试一下,不要被问直接就不知道
负载均衡调度(同等性哈希常常问)等
项目和演习:一定要把自己做的东西从头到尾顺一遍。
难点在哪里,怎么办理的,学到了什么,技能亮点在哪里,这些事常常问的。
常问的问题,像并发量多少,怎么优化这些也要早测试早作准备。
千万不要到时候再想,这会让口试官觉得你对自己做的都不熟习。最好可以自己画一下架构图,讲的时候思路更清晰。
总结履历:知识点准备+数据构造与算法+口试技巧1. 知识点准备,紧张包括:打算机网络、操作系统、关系型数据库、非关系型数据库、linux、编程措辞、项目及演习。这一部分只假如负责准备,一样平常问题不会太大。
2. 数据构造与算法,这个比较突出硬实力,面过的每个公司都是须要手撸几个算法题,以是须要尽早刷题准备。(之以是单独列为一项,是由于楼主便是有几家公司去世在这里的)
3. 口试技巧:
第一点,每一次口试后负责总结,很可能下一次口试又碰上这次不会的原题(亲自经历);
第二点,碰着自己研究比较好的知识点,可以勾引口试官问,往底层说(但是千万要自己有把握),这样如果一次口试有1到2个问题可以说的比较深入,口试官对你的印象会很好(屡试不爽);
第三点,放低身体,面对口试官的嘲讽之类的(比如嫌你low、对你的研究方向一片否定),只管即便阐明,不要怼口试官,要忍得住;实在忍不住,就怼个高兴(我试过,顺利挂了)。
第四点,自傲、自傲、自傲。相信自己,年夜胆的去口试,即是被虐。相信自己,而且口试技巧也都是在一次次被虐中发展起来的。