分享一位读者携程招聘Java职位的心得体会。以下是正文。个人背景:双飞本,机械转码专业。携程在正式面试前会有性格测试(40分钟)。性格测试结束后,大概一周后会有笔试。笔试结束后,将通过邮件通知是否通过并预约第一轮面试。普通的offer一般只有两个面,如果是sp或者ssp,技术面好像是三个面。携程的面试难度一般,效率比较高,面试体验不错。一面(45min)主要是八股写,难度较小。自我介绍;进程和线程的区别;并行性和并发性之间的区别;synchronized的作用;synchronized和ReentrantLock的区别,如何选择;ThreadLocal使用中可能出现的问题(内存泄漏);ThreadLocal内存泄漏是如何造成的;项目中如何创建线程池,为什么不用Executors创建线程池;了解本地缓存,选择Caffeine的原因;Redis缓存和Caffeine的区别;Redis中常用的数据结构,应用场景;缓存穿透和缓存雪崩的区别及解决方案;MySQL和Redis如何保持数据一致性;一道SQL笔试题,加入多表查询(共享屏幕)。答:Java并发面试常见问题总结(上)、Java并发面试常见问题总结(中)、Java并发面试常见问题总结(下)Java高性能缓存库-Caffeine-WindKites缓存基础知识总结面试常见题(付费)Redis面试常见题总结(上),Redis面试常见题总结(下)SQL常见面试题总结双面(50min)双面主要是套路。自我介绍;使用多线程可能出现的问题;线程池原理;谈谈ThreadLocal(概念+一些应用实例+常见的内存泄漏问题);JVM内存模型和垃圾回收;你用过内存分析工具吗?使用索引可以有什么好处,你是如何在你的项目中使用它的;索引底层常用的数据结构,MyISAM引擎和InnoDB引擎使用哪一个;聚簇索引和非聚簇索引;最左前缀匹配原则;是什么导致索引失败你知道常见的原因吗?项目中是否遇到过索引失效问题;如果有执行很慢的SQL语句,如何优化;如何在项目中使用ES;为什么ES检索速度更快,为什么MySQL不行;查看倒排索引;手写一个生产者消费者队列;问问题。答:Java并发面试常见问题总结(上)Java并发面试常见问题总结(下)Java内存区详解,JVM垃圾收集详解Java内存分析相关工具MySQL索引MySQL执行计划详解分析Elasticsearch常见面试问题汇总(付费)HR个人基本信息;对携程的了解;三个词来形容自己;其他优惠;平时的爱好;选择工作的原因(薪水、加班等)。英语测试HR面试后会有英语测试,题量很多,对英语不好的同学不是很友好。题型大概是阅读、口语、听力等。不过大家不用担心,你应该不会因为英语考试的表现而被辞退,但是英语考试还是有可能影响你的面试评价的。如果你能做得好,你应该尽力而为。
