总体评价:
- 哈哈,感觉又没了
- 前半段发挥还挺好,但到了后面,听录屏的声音,越来越底气不足,回答也是极尽含糊
- 虽然问的问题不难,都是基础知识,但关键是,只会单纯地用,还真不记得,垮了垮了,太垮了
- 吸取经验,下次加油
面试流程:
- 和HR约定时间,发个腾讯会议,到点了面试官准时上线
面试问题:
1、首先依然是自我介绍,巴拉巴拉一顿输出(PS:面试前练习了半天,结果还是嘴瓢+忘词了)
2、你这个线上质检服务平台主要的业务是什么?
- 解释GIM和质检
3、你简历上写任务队列并发执行,它是有多大的并发量?
- 底层服务吃内存,并发量较少,大概5~10个
4、如果依赖的底层服务出现问题,失败了怎么办?
- 超时检测,询问底层是否出现了问题
5、这个三维浏览你做了哪些事情?
- 我前后端都做一点,前端部分是用公司封装的Cesium进行一些高亮、定位等操作,后端部分是给前端数据支撑,比如点击模型查询相关台账信息,构建设备树等
6、你这项目基于DockerCompose是怎么样的一个部署情况?
- 就是将中间件、后端、前端等包在一台服务器上构建多个容器进行部署
7、除了DockerCompose的部署方式,你还用过其他部署方式吗?
- 有,就是用Docker原生的方式单独构建容器,就是用dockerfile构建镜像,docker run运行容器)
8、k8s有了解过吗?
- 有私下了解过,但项目中没有用到过,因为项目大多没有很复杂的架构,只需要一台或两台服务器
9、你说一下Java的异常处理机制,就是try、catch和finally的用法和作用
- 就是在try的代码段里尝试捕获异常,如果捕获到了,那就进入catch代码段,然后finally就是不管有没有捕获到异常,都会执行finally的代码段
10、Java里面的ArrayList和LinkedList有什么区别
- ArrayList用的是动态数组,而LinkedList用的是链表,还有ArrayList理论上查询比较快,而LinkedList插入删除比较快
11、synchronized和volatile有什么区别
- synchronized就是加锁,确保同一时间只能有一个线程访问代码段,volatile就是保证可见,让线程可以访问到另一个线程修改后的数据
12、在并发编程中,会经常用到哪些类
- Thread、Runable、Callable、Futrue、ThreadPoolExecutor等
13、如果我需要获取一个线程的返回结果,我需要怎么去使用?
- 使用Callable和Future(提示我半天还是没想到,哭)
14、有了解过设计模式吗?
- 有,用过单例模式还有代理,但是工厂反而没怎么用
15、Nacos在微服务中扮演的是什么角色?
- 注册中心和配置中心
16、在构建容器的时候,这个Dockerfile是原来就有的,还是自己写的?
- 一部分底层写的,一部分自己写的
17、Dockerfile中的每一行都是什么意思?
- 每一行都有不同的意思,比如FROM是选择基础镜像,RUN是构建镜像执行某些命令,CMD是运行容器时执行的命令,还有ENV设置环境变量等
18、Docker的分层模式了解吗?
- 就是Dockerfile中的每个指令都会生成新的层,然后每一层都会缓存并复用
19、为什么Docker要分层
- 为了提高构建效率和在复用后减少磁盘空间的占用
20、你在团队开发中一般用什么版本控制软件
- 一般用的是SVN,Git自己在私下里学了,但是在公司里没用上
21、你对自己写的技术博客文章有哪些印象是比较深的?
- 我博客一般是总结经验和总结知识点,印象比较深的是一些部署类的,经常会在部署过程中被某些bug卡好久,然后需要自己去尝试网上不同的教程,最后踩了一堆坑总结出来
22、对于一个新的东西,你一般是怎么去学习,怎么去写你的技术博客的?
- 对于新的东西,我一般会先去找一些文章,先了解个大概,然后再去b站学习,边学边写,一步步完善,最后针对某些特定问题问问chatgpt
23、你对你以后的职业规划有什么想法吗?
- 我想先继续在Java这条路上去积累,达到某种程度,然后后面再去挑一些自己感兴趣的东西去继续学习
24、你对Redis是怎么理解的?
- 我一般是用来做缓存,通过键值对的形式保存token,还有用户信息
25、你用Redis存Token是直接操作的还是用框架来帮你操作的?
- 我记得我们是公司自己封装的,我接手的时候就有一个工具类
26、Redis里一般有什么样的结构?
- 字符串、列表、集合、散列等
27、Nginx你一般是怎么用的?
- 因为前后端分离,容易跨域,一般用来做反向代理
28、一般要配置什么东西?
- 就配置一下要代理的后端地址、端口什么的
经验总结:
- 只想着应该会问应用知识,而没复习基础知识,这下吃亏了吧,后面要注意
- 回答的语言不够精炼,回答得磕磕绊绊的,答得不好
- 没有听清楚面试官的问题就急于回答,大忌
- 总之就是,语言要回复得流畅一些,然后性子冷静一些,听清楚问题再回答,最后重新复习基础知识