瓴岳科技 java 社招一面
📍面试公司:瓴岳科技
👜面试岗位:后端开发
📖面试问题:
- 自我介绍+项目介绍
- string、StringBuilder、StringBuffer 区别
- 为什么使用 StringBuilder 做字符串拼接
- 为什么 String 设计成不可变的
- RPC 接口返回的是基本类型还是包装类
- 接口和抽象类的区别
- 泛型
- extends 和 super
- extends 写法的泛型集合能用 add 吗
- try {return 1;} catch (Exception e) {return 2;} finally {return 3;}最后返回什么
- java 是值传递还是引用传递
- final、finally、finalize 区别
- 重写 equals 为什么要重写 hashcode
- arraylist 和 linkedlist 区别
- hashmap 数据结构
- hashmap、hashtable、concurrenthashmap 区别
- concurrenthashmap实现原理
- hashmap 怎么扩容
- COW
- stream()
- threadLocal和它导致的内存泄漏
- 线程池来使用 threadlocal 会有什么问题
- 死锁产生的条件
- 创建线程池的方式
- 继承 thread 类创建线程池的时候,只重写 run(),不调用 start()可以吗
- 线程池核心参数
- 拒绝策略
- 有 MySQL 为什么还要使用 redis
- 可以只使用 redis 不用关系型数据库吗
- redis 的原子性和数据库的原子性
- 脏读、幻读、不可重复读
- uuid 和连续自增长主键区别
- 一个事务往数据库中插入数据,事务未提交时回滚,会影响下一次插入数据的 id 吗
- innodb 的索引
- 回表
- 最左匹配原则
- 对于有 (A, B, C) 这样的联合索引,在查询语句 where A = value1 and B > value2 and C = value3是什么顺序
- limit 0,100 和 limit 10000,100 查询效率一样吗
- 算法题:力扣 88 合并两个有序数组
🙌面试体验:面试官挺帅
#软件开发笔面经#