面试经历概述

这位读者于2022年从民办二本院校的计算机专业毕业,当前薪资为7K。他在今年的3月,分别面试了南京的两家小型企业,现将相关经验记录分享。

某小微企业

第一家公司是一家拥有十多人规模的小微企业。面试过程中,老板当场给出了口头offer,表示如果没有问题希望在下周五之前回复。

技术面试问题

  1. 请介绍一下自己。
  2. 针对项目中涉及的Word和Excel导出,您是如何实现的?
  3. 您对接过大华的哪些设备?具体是如何对接的?
  4. 请谈谈您对多线程的理解,为什么要使用多线程?
  5. 您使用过线程池吗?请解释线程池的核心参数以及使用线程池的原因。
  6. 如何保证线程安全?
  7. 请谈谈您对JVM的了解,堆和栈之间有什么区别?
  8. 什么是内存泄漏?内存溢出又是什么?
  9. 通常在什么情况下会出现内存泄漏?
  10. 请简述垃圾回收机制。
  11. 您对SpringMVC的理解是什么?什么是MVC?
  12. SpringBoot与SpringCloud之间的区别是什么?
  13. 什么是缓存击穿?什么是缓存雪崩?
  14. 有一个查询接口需查一张数据量达到几百万的表,前端调用时需要很久才能返回结果,该如何优化?
  15. 如果该接口突然接收到大量请求,会有什么影响?
  16. 您对前端知识了解多少?

这些问题相对简单,读者都顺利回答了,因此直接安排了与老板的第二轮面试。

在第二轮面试中,老板先介绍了公司的情况、业务范围、上下班时间(朝九晚七,中午12-14点休息,每天工作8小时,轮休),以及福利(五险一金、出勤补贴15、交通补贴300元)。

面试过程中还问到了:

  1. 您为什么离开上家公司?
  2. 您的家乡在哪里?
  3. 目前住在哪里?
  4. 您会编写前端页面吗?
  5. 您何时可以入职?
  6. 期望薪资是多少(读者回答8.5K,老板直接表示可以,读者觉得自己可能要少了)。
  7. 反问。

图片

南京擎天科技

接下来是南京擎天科技的线上面试,读者忘记记录音频,提问顺序可能会有些出入。

技术面试问题

  1. 自我介绍。
  2. 介绍一下您的项目。
  3. 项目中主要功能是如何实现的?
  4. 您是如何与大华设备对接的?
  5. Session和Cookie之间有什么区别?
  6. 如果服务器宕机,Cookie是否还能继续使用?
  7. 您在项目中使用Redis主要是做什么?
  8. 如果不使用Redis,Java后端有没有其它本地缓存的实现方案?
  9. 如何实现多人聊天室这种实时通信?
  10. 请解释WebSocket的概念,以及何时需要使用WebSocket?
  11. 您使用过哪些数据库?
  12. MySQL的聚合函数有哪些?
  13. MySQL的联表查询方式有哪些?
  14. 请讲述MySQL数据库层面的优化方案(如索引、SQL优化、读写分离、分库分表等)。
  15. 您了解ES吗?使用过吗?(读者表示在个人项目中使用过,但公司项目没有需求没有使用过,并且提到了数据同步)。
  16. ES必须与MySQL同步吗?我可以直接将数据存入ES而不是MySQL吗?
  17. 设计角色和用户之间的多对多关系表(读者回答了角色表、用户表以及角色用户关联表)。
  18. 如何查询某个角色下的所有用户数量?
  19. 请解释count(*)中*的含义。
  20. 您做过前端开发吗?
  21. vue的优势是什么?
  22. 使用过ruoyi吗?有什么优点?
  23. 您用过ruoyi的代码生成器吗?除了生成Mapper外,是否还可以生成前端页面?
  24. 您会使用docker吗?为什么使用docker?
  25. 您为什么要自己打包docker镜像,而不是交给运维打包?(读者提到前公司运维技术不佳,不会打包)。
  26. docker与直接在linux上部署有什么不同?
  27. 在设计MySQL表时,您习惯添加哪些通用字段?
  28. 如何查询创建时间最大的用户数据?查询创建时间最大的两条用户数据的方法是什么?top与limit的区别?

图片