携程现场面试(9.25)
地点:南京;时间:下午两点;技能:java开发
一面
- 手写一个你认为最快的排序算法
上来先手撕,我写了一个归并排序,只要不是冒泡之类n^2复杂度的应该就可以了吧。
- 针对我项目中一个秒杀的细节:redis的预减库存并发的问题
- HashMap,HashTable,ConcurrentHashMap区别原理啥的说一说
- spring几种注入方式和区别
- 项目中redis分布式锁的实现原理
- JVM哪些区域可能会出现OOM
- spring bean的生命周期
- redis的淘汰策略
给了一个小的场景,比如有一百万个数据,其中redis只想保存其中一万个热点数据,如何实现。 因为Redis的淘汰策略是LRU,通过这个策略就可以实现嘛。
- 行锁与表锁,啥时候触发行锁
- MQ消息处理失败如何应对
面试完了之后叫我等待,在等待十几分钟之后,随即进行了二面。
二面
- 说说集合,里面的具体***作啥的
- redis的命令以及你在项目中的运用
- 单点登录
- 线程相关的问题,比如启动线程的方式,线程池原理,线程池与直接启动线程两种方式的比较,Thread类中方法,runnable和callable的区别等等。
- spring springMVC的注解说一说
- 常量池的类型有哪些 字符串常量池相关的问题 比如如何将一个字符串放进场景池中(intern()方法)
- 除了集合框架的源码还读过哪些源码
- 谈谈你最失败的一个项目
- 谈谈你实习做的东西 印象比较深刻的是哪些
- 某一个功能你有好的建议,你如何推进这件事情去完成
- 最具有挑战性的经历 是如何应对的
- 你的压力来源 如何应对
点评
一面面试官人挺好的,很会引导和鼓励人,聊得很开心;二面面试官比较严谨,追着你的回答不停地问。没有等太久,这一点很好。
#携程##面经##Java工程师##秋招#