java后开实习面试记录(40min)
今天真是说的我嘴巴一滴口水都没了,口渴得够呛。现在在地铁上,趁热记录一波。
1.自我介绍—30s搞定
2.从基础开始问吧,array list和linkedlist的区别
我提到了他们的优缺点,底层数据结构的区别。
3.string s builder 和sbuffer的区别
我回答了常量池,char数组,线程安全问题。
4.excepttion和error区别
有点忘了,支支吾吾的。。
5.redis用过吗,用在哪些地方,他的优点是什么
用来做缓存,做过通信中间件,注册中心,优点是性能好,数据结构设计的好,单线程巴拉巴拉
6.mysql用过吗,讲讲索引失效
经典八股
7.讲讲sql优化的思路,在什么时候用过
针对主键的优化,在大数据量查询时limit优化,count优化,索引优化等等。
8.讲讲mysql的子查询可以被什么代替
讲了可以用左连接代替
9.讲讲spring的ioc和aop
从字面意思扯到了实现原理,扯到了bean处理器,bean工厂,context等等
10.讲讲spring的事务原理
讲到它通过aop的实现原理等等。
11.讲讲mysql事务原理
12.mysql隔离级别实现原理
13.mysql的四大特性实现原理
以上三题我一起回答了,我说了下四大特性的原理实现,然后提到了undo logo版本链, redo logo 两阶段提交,wal,mvcc,三大字段,readview等等。。
14.在最近的spring业务中怎么用的事务
提了一下最近的项目,还有事务失效的问题
15.spring cloud用过吗,它的组件你是用的什么
跟他老实说用过一次,但是忘的差不多了,然后他说你里面的xx线上教育项目,我也跟他直说是在b站跟着写的。
16.讲讲你用的消息队列
跟他直说用得不多,只玩过工简单的作队列模式。
17.讲讲mybatis 井号和美元符的区别
说了一下用来传参用的,拼接sql等等
18.讲讲spring的生命周期
简单说了一下自己造的轮子里面实现的生命周期,以及常用的postconstruct。。
19.讲讲垃圾回收
说了一下jdk8的垃圾回收,可达性分析,gcroot等
19.jwt和token讲一下
说了jwt用来做生成token,可以解析出客户端携带的状态信息等等
20.session原理讲一下
直说自己忘的差不多了,就只记得set/getattributes。。
21你的项目中redis还用来做过注册中心,讲讲这个注册中心
这个是我用来做rpc框架,自己通过redis实现的注册中心,主要包括服务提供者,消费者双方的信息等等。。。
22.虽然你是干后端 但是前端的一些基本知识懂吗,例如说项目中发现错误,后端没有问题的情况下你怎么排查。不谈谈你有哪些基本排查手段。
我说可以通过从开发者工具查看控制台信息,自己往代码里加console.log,alert啥的,他说不用我懂太多前端,但是一些基本的得知道。
23.在前端页面没有问题,无404,500错误的情况下,你如何在后端排查问题
我说从控制层开始逐层往下排查,查看返回自定义的错误码定位到具体的业务代码等等。。
24.linux系统懂多少,有没有部署过项目。
大二上学期上过,好多命令都忘的差不多了,但是自己确实用docker部署过一个项目,然后他让我说几个命令,我就提了几个常用的。
25.你现在大三,是学校里没课了吗,能否保证1周5天
学校有课,但是辅导员那边表示支持,可以保证1周5天
26.期望工资
我说你们的标签是3-4k,我就要个4k好了,当然这是我的个人愿景。
这一次面试相对来说没那么紧张,面试官人不错,我也是慢慢找到了状态,感觉还行。不过他说他们这边等结果出来估计需要一两星期。。
对了 刚刚由于写的太投入,地铁坐过了四个站。。
————————————————————————
更新一下
昨天给我打了个电话 拉了拉家常 然后今天我在平台上询问结果 已经寄了😪