本人是来自某非理工985本科,春招时候很不顺利,因为本科+没实习,很多公司不给面试机会,还好字节阿里腾讯面试机会多,侥幸拿到了这三家offer。秋招的时候因为有大厂实习了就比较顺一些。因为比较懒,秋招目前已上岸不准备继续面了。阿里腾讯字节均已发意向书。个人比较懒,只投了这三家,侥幸都通过了。面试期间得到了牛客上的很大的帮助,为了回(hong)馈(ming)牛(da)客(lao),分享一下个人在准备的过程中认为比较重要的知识点。因为面试的公司不多,春招也是只面了这三家(小公司全部简历挂了),所以可能很多知识点是比较重要的但是我没列举到,望大家不喜勿喷。这里只列举我认为比较重要的知识点,比较偏的就不举了。
【计算机网络】
计网这一块,高频考题就是TCP/UDP这一块内容,其他的内容考的不多,没时间的同学这一块内容需要重点掌握。
1、TCP的三次握手和四次挥手过程是什么样的,为什么需要三次握手和四次挥手,四次挥手的2MSL的含义。
2、TCP和UDP的区别,TCP的特点如拥塞控制、流量控制、可靠传输、滑动窗口的特点是什么
3、HTTP的几种方法是什么以及区别
4、HTTP状态码1XX-5XX分别是什么意思,记几个常见的
5、Cookie和session的作用以及区别?分布式session原理?
6、长连接和短连接
7、HTTP1.0、1.1和2.0区别
8、HTTPS的原理和作用(SSL/TLS)?对称加密、非对称加密、哈希加密优缺点
9、AC证书
10、dns域名解析的流程
11、从浏览器输入url到受到内容的过程是什么样的?
【数据库】
数据库这一块主要就是数据库底层的结构考的比较多。
MYSQL:
1、数据库底层实现是什么?为什么用B+树,跟其他树的区别是啥?B+树的搜索过程是啥?
2、数据库隔离级别有哪些?每个隔离级别可以防止的情况有哪些(脏读等四种)?
3、MVCC、间隙锁
4、binlog、undolog、redolog
5、前缀索引、覆盖索引、多列索引等的特点是什么?聚集索引和非聚集索引是什么?覆盖索引为什么效率高?使用索引的优缺点?
6、join的原理及使用
7、数据库的事务性是什么?分布式事务是什么以及分布式事务如何实现?
8、数据库表锁和行锁
9、主从复制、读写分离的过程
10、分库分表如何实现,为什么需要分库分表
Redis:
1、Redis的数据结构有哪些?(五种),各自的特点是什么?字典和跳表的底层实现是什么?应用场景有哪些?(比如排行榜用zset)
2、AOF和RDB两种持久化方式特点与区别
3、键的过期策略
4、Redis速度快的原因是什么?为什么要使用单进程单线程?
5、缓存穿透、击穿等等典型问题
6、Redis的事务和数据库事务区别
7、数据双写一致性如何实现?程序运行时的数据迁移的方法?
【操作系统】
这一块主要就是进程跟线程考的很多
1、进程和线程的区别是什么?切换的时候的开销的区别?
2、进程和线程的通信分别是怎么通信的?进程的几种通信的区别是什么?原理是什么?
3、死锁的原因和解决方法
4、同步、异步、多路复用等方式通信的原理
5、select、poll、epoll
6、linux的常用指令
【Java】
1、常见的容器的特点如ArrayList和LinkList等。HashMap最重点,HashMap需要看源码理解其全过程的原理,ConcurrentHashMap的线程安全的实现原理在源码中如何实现
2、JVM运行时的数据区域(本地方法栈、堆啥的)
3、如何判断内存是否要垃圾回收,垃圾收集的方法和特点有哪些?
4、MinorGC和FullGC特点是什么。分别用什么垃圾回收方式?什么时候触发
5、类加载机制,类的生命周期
6、java的String的不变性
7、Object的通用方法如equals、hashCode、clone、toString
8、泛形、反射、注解的原理
9、Spring的aop和ioc的原理
10、线程池的原理是什么?常见线程池区别?线程池的淘汰策略有哪些?
11、synchronized的原理、volatile的原理
12、线程的协作,如wait、nofify等,如何用三个线程依次打印从1-100的数字(编程题)
13、java内存模型是什么样的
14、线程安全的CAS、ABA,AtomicInteger
15、锁的自旋锁、轻量级锁、偏向锁、重量锁
【设计模式】
单例模式的如何实现(编程)
大概是这些了,这篇偏向于新手向,主要列了比较重要的知识点,很多个人感觉有点偏的就不列举了。
我躺平了,祝大家秋招顺利,早日上岸!
同时祝自己大四能够脱单
全部评论
(15) 回帖