前言
楼主今年大二,本科双非,之前有过竞赛经验,首次参加校招,一共参加了网易和百度,滴滴,最后选择了去网易实习!
作者为大家整理了很多资料!包括一线大厂Java面试题总结+各知识点学习思维导+一份300页pdf文档的Java核心知识点总结! 这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。
全部的面试题内容和答案都整理在文末了
网易面试(2020-11-18)
一面
Redis五种数据结构底层与C对比
SpringMVC流程,相同url会出现什么问题
会报异常,registerHandlerMethod方法上注解说明url名称相同时会抛出异常
如何保证缓存一致性
先删除缓存,再修改数据库。如果数据库修改失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致。因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中。
可以先把“修改DB”的操作放到一个JVM队列,后面读请求过来之后,“更新缓存”的操作也放进同一个JVM队列,每个队列,对于一个作业线程,按照队列的顺序,依次执行相关操作,这样就可以保证“更新缓存”一定是在DB修改之后,以保证数据一致性
BeanFactory和FactoryBean
happen-before规则
一个线程解锁前对共享变量的写对解锁后其他线程加锁的读可见
线程对volatile变量的写,对其他线程的读可见
线程启动前的写对启动后的读可见
线程结束前对变量的写,对其它线程得知它结束后的读可见(比如其它线程调用 t1.isAlive() 或 t1.join()等待
它结束)
tcp拥塞控制<