Offer经验分享 - 蚂蚁金服、字节跳动、PDD、百度、华为、Paypal - Java社招面经 (3)

3.1 常见GC算法、 CMS收集器、G1
3.2 jvm内存模型 && Java内存模型
3.3 怎么判断对象可被回收?GC 可达性分析中哪些算是GC ROOT?
3.4 eden survivor区的比例,为什么是这个比例,eden survivor的工作过程。
3.4 fullgc是否可以回收方法区
3.5 什么对象会进老年代? 为什么新生代使用复制算法?
3.6 被GC判断为"垃圾"的对象一定会回收吗
3.7 强制young gc会有什么问题?
3.8 类加载的过程 Java为什么要设计双亲委派模型?
3.9 什么时候会触发minor gc,什么时候会触发full gc?
3.10 G1和ZGC的区别
3.12 你知道强引用、弱引用和软引用吗? GC对他们执行怎样的操作。
3.13 JVM方法栈的工作过程,方法栈和本地方法栈有什么区别。
3.14 JVM的栈中引用如何和堆中的对象产生关联。
3.15 逃逸分析技术。
3.16 Java是否可以GC直接内存。
3.17 常用的JVM调优参数。
3.6 具体的性能调优步骤吗?fullgc的时候会导致接口的响应速度特别慢,该如何排查和解决。
3.18 dump文件的分析。
3.19 Java有没有主动触发GC的方式
3.20 假如现在在同一台机器上开两个java项目,有几个java虚拟机?
3.21 javac编译期工作流程

4. Spring

4.1 spring IOC 过程
4.2 循环依赖怎么解决的
4.3 spring AOP,动态代理是怎么实现的
4.4 spring BeanDefinition作用
4.5 spring @Autowired (@Resource, 类似)实现原理
4.6 bean的生命周期
4.7 Bean的默认作用范围是什么?其他的作用范围?
4.8 Spring的单例是怎么实现的?
4.11 SpringMVC不同用户登录的信息怎么保证线程安全的?
4.12 Spring用了哪些设计模式。
4.13 Spring注入bean的方式。
4.14 什么是IOC,什么是依赖注入。
4.15 Spring具有什么特点(IOC和AOP)
4.16 几种scope区别,aop实现有哪几种实现,
4.17 spring的事务及实现模式
4.19 对Spring、SpringMVC、springBoot理解
4.20 @transactional注解在什么情况下会失效,为什么。
4.21 SpringMVC的Controller是如何将参数和前端传来的数据一一对应的。
4.23 Spring如何维护它拥有的bean。
4.24 自定义注解的实现。
4.25 如何自己设计IOC框架
4.26 Quartz是如何完成定时任务的。
4.18 servlet的生命周期,怎么判断是get请求还是post请求,后台实现session共享的方法。Java web过滤器的生命周期?过滤器和拦截器的区别。
4.19 BeanFactory 和 FactoryBean 的区别
4.20 Spring中配置id或name相同的Bean可能引发的问题及解决方案
4.21 防止Web表单重复提交的方法

5. 消息中间件

5.1 kafka有哪些组件,kafka controller选举过程,kafka leader重选举过程
5.2 kafka 最早是为了解决什么问题设计的
5.3 为什么kafka用zookeeper来存储metadata,而不是用db来存储
5.4 kafka 只有一次生产 只有一次消费怎么做
5.5 kafka的消费模式?kafka怎么做有序消费?kafka 重消费解决?消息丢失怎么解决?
5.6 Kafka的Replicas的作用?

6. 算法

6.1 B+树
6.2 hash和B+树的区别?分别应用于什么场景?哪个比较好?
6.3 红黑树了解么,时间复杂度? 五个特性
6.4 堆排序的时间复杂度
6.5 快速排序,堆排序,插入排序
6.6 一致性Hash算法,一致性Hash算法的应用

限于篇幅,我没有给出答案,感兴趣的可以关注公众号『后端精进之路』,发送『面经』获取完整的答案, pdf有80页左右。

本文由『后端精进之路』原创,首发于博客 , 转载请注明出处

搜索『后端精进之路』关注公众号,立刻获取最新文章和价值2000元的BATJ精品面试课程

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfgpg.html