面试复盘 | 招银网络科技深圳软件开发岗一、二、HR面
9.18 一面
- 自我介绍
- 了解过的集合
- List Set Map的结构和特点
- Set去重原理,例如HashSet(先hashCode() 再equals() ,为什么这么做)
- ArrayList和LinkedList的区别(底层数据结构,彼此访问 / 插入 / 删除的特点)
- 线程池的作用以及参数,拒绝策略的种类
- MySQL索引的作用和优缺点
- 索引的数据结构(Hash、B树、B+树,默认使用B+树的原因,B+树特点和优势)
- 项目中MySQL如何分页(PageHelper以及LIMIT,OFFSET,ORDER BY关键字)
- 索引字段的深分页和浅分页以及其效率差别
- 查询的内容分布在多个分布式节点时的效率以及如何优化(讲了多节点JOIN效率低,其余不了解)
- 手写代码:实现一个普通二叉树和插入节点的方法(任意插入方式)
- 反问环节
9.23 二面
- Netty服务端的执行流程和常用组件(流程只大概说了责任链机制)
- MySQL分页的类型(物理 / 逻辑)
- 对JDBC的了解(说了常用API以及Statement和PreparedStatement的对比)
- PreparedStatement的优势(占位符 / 预编译)
- 项目遇到的问题
- Redis和MySQL之间缓存一致性的解决策略(旁路缓存 / 延时双删 / 订阅binlog)
- Java序列化在项目中的应用(ObjectOutputStream和ByteArrayOutputStream)
- 如何使类的对象可序列化(Serializable接口)
- 序列化的其他了解(transient关键字和SerialID)
- 反问环节
9.27 HR面
- 自我介绍
- 社团经历和相关工作内容
- 社团对自己能力的提升和收获
- 和人共事时对问题的协商和解决方式
- 性格方面,可由什么例子体现
- 家庭情况
- 有无其他offer及相关信息
- 有无遇到过较大的打击或挫折
- 反问环节
当时没有记录,基本凭印象,有些问题可能没有记住......
总结:基本围绕简历上写的技术栈和项目去问,面试官一般不会打断叙述,有更多的空间拓展自己说的内容,能说得越深入基础越好