携程一面(50min)
1. 自我介绍, 然后就是纯纯对着简历的技术栈深挖底层原理
2. 首先是redis
a. redis有哪些数据结构
b. 这些数据结构底层是什么,有了解过吗
c. 你用过redis吗,通常都是用来做什么
d. redis用作消息队列有了解吗
e. redis做消息队列和其他消息队列有什么区别
f. 你redis做缓存是主动缓存还是被动缓存
g. 被动缓存的话,那我就要问你,如果有两个线程同时请求缓存,缓存中查询不到数据,然后又同时请求数据库,在这两个数据库查询之间有一个线程修改了数据库的记录,这样每个线程读到的数据是不一样的,然后写入缓存的时候就会产生覆盖,这个问题你是怎么解决的。
3. 然后是并发编程
a. 线程池了解过吗(了解过)
b. 那好,现在我有这样一个场景,比如说:一个班里40个学生,对应着数据库中的40条记录,现在我要求你读取这40条记录,然后当这40条记录读取完成之后,写到一个新的表中,其中,如果再读取的过程中,线程执行失败了,或者抛出异常了,都不进行写表操作,只有所有数据读取完成之后才能进行写表操作。你会怎么设计这个流程。(记不太清了,大概就是这个意思)
c. 你是怎么保证线程执行成功的呢
d. 异步任务如果再当前线程执行成功,而在另一个任务执行失败了,那你怎么能保证所有的任务是成功的呢
e. 单单只有线程池这样是无法做到的,你再想想(不会啊,我是真不会啊)
4. 然后是数据库
a. 数据库事务是什么
b. 事务有哪些特性
c. 读已提交和可重复读的区别是什么
d. 这些特性是通过什么进行保证的
e. 数据库的锁了解吗,什么是间隙锁
f. select ..... for update 是什么锁
5. 然后是jvm
a. 你了解过什么垃圾回收器
b. 他们的区别是什么
6. jdk方面
a. 对于Java版本更新的新特性,你了解多少
b. 现在Java更新到什么版本了
c. 解决了与go,python相比的哪些痛点
d. Java中的泛型知道吗
e. 在泛型中如何实现多态
f. Java面向对象的特性是什么
g. 多态解释一下是什么
7. spring
a. spring中的bean是如何被注册到容器中的
b. AOP了解过吗
c. 切点是什么
d. 是只能切在方法上吗
8. 然后又是redis
a. redis分布式锁了解吗
b. redis分布式锁的value值是什么
9. java基础
a. hashMap和HashTable以及ConcurrentHashMap有什么区别(呜呜呜,终于有简单的了)
b. hashmap的底层是什么
c. 什么是反射
d. 反射能调用对象的方法吗
e. 反射还有其他的
10. 最后手撕LRU
11. 到时间直接结束,无反问。
----------------------------------------------------------------------
难度我说不上来,自己去体验一下就知道了,压迫感很足,完全针对开发场景问这些八股问题。估计已经寄了,害怕,从此不敢面大厂。但凡是了解过,就开始深挖了,面试千万不要说了解过,会就是会,不会就是不会,会一半是什么意思。对了,面试官在你说着说着的时候还会打断你,整场面试就是一问一答的状态,没有交流。
2. 首先是redis
a. redis有哪些数据结构
b. 这些数据结构底层是什么,有了解过吗
c. 你用过redis吗,通常都是用来做什么
d. redis用作消息队列有了解吗
e. redis做消息队列和其他消息队列有什么区别
f. 你redis做缓存是主动缓存还是被动缓存
g. 被动缓存的话,那我就要问你,如果有两个线程同时请求缓存,缓存中查询不到数据,然后又同时请求数据库,在这两个数据库查询之间有一个线程修改了数据库的记录,这样每个线程读到的数据是不一样的,然后写入缓存的时候就会产生覆盖,这个问题你是怎么解决的。
3. 然后是并发编程
a. 线程池了解过吗(了解过)
b. 那好,现在我有这样一个场景,比如说:一个班里40个学生,对应着数据库中的40条记录,现在我要求你读取这40条记录,然后当这40条记录读取完成之后,写到一个新的表中,其中,如果再读取的过程中,线程执行失败了,或者抛出异常了,都不进行写表操作,只有所有数据读取完成之后才能进行写表操作。你会怎么设计这个流程。(记不太清了,大概就是这个意思)
c. 你是怎么保证线程执行成功的呢
d. 异步任务如果再当前线程执行成功,而在另一个任务执行失败了,那你怎么能保证所有的任务是成功的呢
e. 单单只有线程池这样是无法做到的,你再想想(不会啊,我是真不会啊)
4. 然后是数据库
a. 数据库事务是什么
b. 事务有哪些特性
c. 读已提交和可重复读的区别是什么
d. 这些特性是通过什么进行保证的
e. 数据库的锁了解吗,什么是间隙锁
f. select ..... for update 是什么锁
5. 然后是jvm
a. 你了解过什么垃圾回收器
b. 他们的区别是什么
6. jdk方面
a. 对于Java版本更新的新特性,你了解多少
b. 现在Java更新到什么版本了
c. 解决了与go,python相比的哪些痛点
d. Java中的泛型知道吗
e. 在泛型中如何实现多态
f. Java面向对象的特性是什么
g. 多态解释一下是什么
7. spring
a. spring中的bean是如何被注册到容器中的
b. AOP了解过吗
c. 切点是什么
d. 是只能切在方法上吗
8. 然后又是redis
a. redis分布式锁了解吗
b. redis分布式锁的value值是什么
9. java基础
a. hashMap和HashTable以及ConcurrentHashMap有什么区别(呜呜呜,终于有简单的了)
b. hashmap的底层是什么
c. 什么是反射
d. 反射能调用对象的方法吗
e. 反射还有其他的
10. 最后手撕LRU
11. 到时间直接结束,无反问。
----------------------------------------------------------------------
难度我说不上来,自己去体验一下就知道了,压迫感很足,完全针对开发场景问这些八股问题。估计已经寄了,害怕,从此不敢面大厂。但凡是了解过,就开始深挖了,面试千万不要说了解过,会就是会,不会就是不会,会一半是什么意思。对了,面试官在你说着说着的时候还会打断你,整场面试就是一问一答的状态,没有交流。
全部评论
跟我面的风格很像,也是对着简历的专业技能深挖,把我挖傻了,手撕也是lru
base是北京吗
请问楼主是线下么
我也是时间到了就准备结束了,应该是赶着下一场面试
我怀疑咱俩碰到的是同一个面试官
请问楼主携程是第几批笔试的呀?
g怎么回答的?
相关推荐
11-07 17:43
携程_酒店_Java开发工程师(准入职员工) 点赞 评论 收藏
分享
点赞 评论 收藏
分享