数字马力 秋招 后端开发 一二面(已拒offer)
base长沙。主要是做tob的业务。
一面 10.13(30min)
- 自我介绍(面试官让重点介绍获得的奖项、大学计算机课程)
- 课程聊到了计算机网络,问了计网
- TCP IP模型 分几层
- TCP UDP在哪层
- TCP UDP区别
- TCP UDP使用场景
- TCP怎么保证可靠
- TCP三次握手、四次挥手
- 面向对象三大特性
- 什么是多态
- 抽象类和接口的区别
- jdk1.8,接口是否可以实现default的方法
- 这块只记得可以,然后面试官讲了一下为什么可以,主要是为了在后续的开发中如果扩展接口的功能,同时还可以兼容以前的实现类。
- error、exception区别
- List常用的实现
- ArrayList、LinkedList区别,使用场景
- HashMap底层原理
- 拉链法
- 插入元素a、b,产生了哈希冲突,是怎么处理的(线程安全的情况)
- 什么时候树化
- 红黑树是什么
- 红黑树是怎么调整平衡的
- MySQL存储引擎,存储结构
- InnoDB、MyISAM区别
- B+树为什么可以提高查询效率
- 怎么避免回表
- 联合索引 (a, b, c),where a = 1, c = 1, b = 1,能用到联合索引吗
- 使用了范围查找还能用到索引吗
- IOC、AOP
- JDK动态代理、CGLib动态代理区别,什么时候用
- Spring事务失效:a方法加了@Transactional,b方法没加,b内部调用a,会有事务产生吗
- Bean的生命周期
- @Autowired、@Resource区别
- 无手撕
- 反问
二面 10.17(40min)
- 自我介绍
- 项目背景
- 怎么分工的,保证高效协同
- 具体讲一下功能划分的边界、合作
- 什么情况下会出现代码冲突、怎么解决的
- 进程线程区别
- 线程几种状态
- JVM内存结构
- 堆栈区别,什么存在堆中,什么存在栈中
- JVM类加载、卸载步骤
- 垃圾回收机制
- 为什么会产生full GC
- Redis和MySQL区别,什么场景下用Redis
- Redis数据类型,常用方法
- Redis分布式锁
- Redis过期策略、淘汰机制
- 异常可以分为几类
- 怎么自定义异常
- try-catch-finally,如果在catch块中return了,finally块中的代码还会执行吗
- 如果日常学习遇到了一些新技术,你会怎么样去学习,制定学习计划
- 怎么评估你的学习成果
- 描述一次学习过程中的困难,怎么样解决
- 如果保持对技术的热情、学习的动力
- 反问
10.23oc。
#数字马力##蚂蚁##秋招##校招##面试#11.29谈薪,已拒。