面试者情况:1年经验,简历2个项目总结:难得一批,底层不懂,直接寄!暖场环节:    【1】是否离职-》离职原因;    【2】工作整体范畴;(最好讲一下自己参与了团队管理工作,例如:文档撰写、周报日报记录、会议概要总结等等)    【3】对自己新工作的预期(谈一下未来发展)八股基础:    【1】java程序执行时,jvm中几个区域介绍(内存模型的介绍)    【2】jvm优化工具的使用(jps,jstack)    【3】gcroots是怎么回收对象的(4种回收算法),哪些对象不能被回收    【4】gcroots是怎么跟踪对象的,GC的常用收集器有哪些    【5】栈、堆的区别,new 一个对象的过程    【6】线程池的工作原理    【7】线程池的核心线程什么时候才被创建    【8】对象头里面有什么?    【9】有木有了解过jvm的一些源码(这个最好说一下,例如常见的设计模式)框架:    【1】SpringBoot的加载机制(三个注解、spi机制)    【2】SpringBoot整合redis、aop 数据库:    【1】redis和mysql的数据一致性(延迟双删、canal监控binlog)    【2】redis分布式锁    【3】对于百万订单的数据量,如何设计表存储结构(分库分表,如何分片?量大了以后怎么半,光靠id可以吗,有什么最佳实践)算法:    电话面试,暂时无算法。不过面试官说,如果后面视频面试,绝对会有!!!项目问题:    redis缓存维护问题:        百万订单中,我可以根据订单id去修改redis缓存,也可以根据订单类去修改redis缓存;但是数据量很大,且同时存在这2种操作去修改redis会导致重复修改,带框压力倍增。在这种情况下,redis的缓存KV是如何设计的,数据变更又是如何维护的?    DDD是什么?(领域驱动设计)
点赞 8
评论 5
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务