龙旗科技Java实习面经
《面试题目》
一面(40分钟) 1、自我介绍 2、final和finally的区别 3、Object类的方法有哪些 4、HashMap和ConcurrentHashMap有什么区别 5、讲一下springboot 6、IOC和AOP 7、==与equals()区别 8、多线程了解多少 9、sleep()和wait()区别 10、讲一下线程池 11、gc垃圾回收了解多少 12、垃圾回收算法有哪些 13、介绍一下你实习查询优化是怎么做的 14、五个字段ABCDE建立索引,BE查询走不走索引 15、最左匹配原则 16、还有什么情况下不走索引 17、in用过吗 18、查询年龄20到30的人(SQL) 19、实习项目数据量有多少 20、实习的时候有没有打表过几十万数据 21、实习用过什么中间件 22、Redis工作中都在哪用到过 23、Redis数据类型有哪些 24、讲一下缓存穿透、击穿、雪崩及其解决方案 25、怎么保证Redis高可用持久化,集群,哨兵 26、Redis和数据库数据怎么保证一致性 27、了解我们公司干什么的吗 28、你对我们公司这个行业有没有什么概念 29、有没有向往的行业 30、你那个agent项目是自己写的吗,怎么搭的架构,框架,部署,这些东西从哪获取的 31、github,码云开源社区逛过吗 32、开源社区一些优秀的项目和脚手架之类的有没有自己试过搭建部署在本地 33、实习的时候有没有什么团队合作之类的 34、有没有和用户做定时沟通
二面(30分钟) 1、自我介绍 2、第一段实习做的什么内容,你做了什么模块什么功能 3、讲一下第一段实习项目的第二点怎么做的 4、你第一段实习是4个月还是在上学时间,不耽误上课吗,有挂科的吗 5、你第二段实习和第一段实习隔了两个月,期间在学校吗,为什么不干了 6、你在IT技术圈里对什么感兴趣 7、除了Java的技术栈你还学了其他的吗 8、JavaScript会吗 9、你第二段实习做的什么工作 10、第二段实习项目的整个架构你了解吗,关于Java技术栈的方面是怎么样的结构 11、微服务的架构里面又用到了哪些技术栈工具或者插件 12、SpringBoot和SpringCloud有什么区别 13、你刚才提到了项目架构用到了K8s,什么作用 14、容器化部署你知道吗,优点是什么 15、虚拟机知道吗,虚拟机和容器有什么区别 16、数据库用过哪些 17、Mabatis和MySQL怎么做查询,完成一个SQL语句的执行到结果需要用到哪些标签,说一下整个流程 18、讲一下AI,讲一下你自己写的Agent项目整个流程怎么做的 19、讲一下RAG是什么,你的Agent项目RAG整个工作流整个过程是什么
《参考解析》
- HashMap vs ConcurrentHashMap:HashMap非线程安全,JDK8后使用数组+链表+红黑树;ConcurrentHashMap通过CAS+synchronized保证线程安全,在并发环境下性能远高于HashMap。
- 索引最左匹配原则:联合索引(A,B,C,D,E)查询时,必须从最左列开始且不能跳过中间列,否则无法命中索引。如查询BE,不满足最左匹配,通常不走索引。
- 缓存穿透、击穿、雪崩:穿透是请求不存在的数据,需布隆过滤器;击穿是热点Key过期,需互斥锁;雪崩是缓存批量失效,需设置随机过期时间。
- RAG(检索增强生成):将用户输入进行向量化搜索,检索知识库中的相关片段,并将片段作为Prompt的Context传给大模型,从而减少模型幻觉,提升回答的专业性。
- 容器与虚拟机:虚拟机是硬件层面的虚拟化,有独立操作系统,资源开销大;容器是内核层面的虚拟化,共享宿主机内核,启动快、轻量级。