java基础相关
1.手撕代码。牛客题霸上的原题,可以去看看:NC20数字字符串转化成IP地址
2.定义Integer x=20 Integer y=200 在内存里是个什么过程?
3.volite关键字的原理?它能保证原子性吗?AtomicInteger底层怎么实现的?
4.threadLocal关键字有用过吗?如果没有重写initialValue方法就直接get会怎样?
5.hashMap与concurrentHashMap原理和区别?
6.hashMap什么情况下会出现循环链表?concurrentHashMap写的时候用什么锁?7.RenteenLock底层是怎么保证线程安全的?
8.反射能获取到父类的私有方法吗?怎么防止反射破坏单例模式?
9.描述下JVM内存模型。每个区的作用是什么?堆内存的工作原理,为什么需要两个幸存区?只有一个行不行?老生代是用什么垃圾回收算法?
10.描述下多线程原理。怎么开启一个线程?start和run方法有什么区别?
怎么创建一个线程池,传入的参数分别什么含义?线程池是怎么实现维持核心线程数的?怎么实现一个自定义的拒绝策略?
11.Socket编程 nio(这一块我不太熟就说没了解过,面试官就没细问了)
开源框架相关
1.你用过哪些开源框架?最熟悉的是哪个?(这里我说了spring,所以后边的问题都是围绕spring的)
2.描述下spring的ioc和aop。
你常用哪一种注入方式?BeanFactory和ApplicationContext有什么区别?你们项目里用的哪个?说一下spring bean的生命周期。
AOP实现原理是什么?两种动态代理实现原理?JDK动态代理为什么要实现接口?
3.spring task是怎么实现的?
4.spring事务你是怎么用的?加了@Transcational注解spring都做了哪些工作?怎么知道事务执行成功了?
事务隔离级别?mysql默认级别是什么?事务传播属性?spring默认是什么?嵌套事务子事务什么时候commit?
5.spring和springMVC是什么关系?有没有用过JdbcTemplate?
6.springMVC中对整个请求的处理流程是怎样的?返回json的话是用哪个view?
网络相关
1.HTTP 1.1版本增加了哪些内容?有哪几种请求方式?
2.描述下HTTP三次握手和四次挥手过程?为什么需要四次挥手?为什么TIME_WAIT状态需要经过两个最大报文段生存时间才能到close状态?
3.浏览器发起一个请求到收到响应中间经历了哪些过程?知道多少就说多少,越详细越好。
全部评论
(2) 回帖