MetaApp Java实习面试
一面 (40min)
- 自我介绍
- 讲实习
- 算法:斐波那契、爬楼梯 项目:
- CompleteFuture 作用
- 分布式限流器原理 Java
- 线程池参数、多少种线程池
- CAS
- @Transactional 标在 A 方法上,B 方法调用 A,注解会不会失效?为什么? MySQL:
- 两条 update 互相影响,怎么用乐观思想解决(给了个例子,比较简单)? 计算机网络:
- 网络体系结构
- socket 是什么
- TCP、UDP 使用场景
- TCP 可靠传输原理
反问
二面(45min)
- String a = "123",String b = "123" ,a == b ?
- String 原理, final 修饰哪?
- 从记事本读一个特别长的字符串给 String,不考虑内存、中途失败的情况,String 能不能接受?
- 方法在 jvm 哪个区域?
- 不同线程池使用场景(1 面没答好的问题)
- 什么是计算密集型,什么是 IO 密集型
- 异步和阻塞的区别,举例子
- 有两批任务,优先级不同,如何考虑处理它们?
- 链表可以是数组吗?
- 数据库和缓存强一致性怎么设计?
- Redis 单线程还是多线程?
- Redis 过期的值直接回收吗?
- 事务失效了,如何排查(1 面问过@Transactional 失效情况)
思考题:100 杯水中 1 杯有毒,24 小时毒性发作,24 小时内,最少多少只小鼠能试出来?
反问
HR 面(20min)
- 自我介绍
- 上段实习离职原因
- 对下个实习的期待和要求
- 最快入职时间
- 前两轮面试的评价
- 未来职业规划
反问