4.1 美团暑期 一面(已约二面)
4.1(1h57min)
1、自我介绍(2min)
2、面试官自我介绍(本地核心商业-基础研发平台-??没听清)
基础知识考察
3、介绍一下 TCP 的三次握手以及四次挥手
4、为什么握手是三次,不是两次或者四次
5、四次挥手一定是四次吗
6、说一下 TCP 的全双工
7、了解哪些 JAVA 的集合类
8、list 和 linkedlist 它两者的使用场景有什么区别
9、简单说一下 linkedlist 在中间插入的算法复杂度是多少(O(n))
10、hashmap 底层数据结构是什么
11、什么时候会触发 hashmap 的扩容
12、如何解决 hash 冲突
13、如果有两个线程同时往 hashmap 去 put 同一个 key 不同的 value 会有什么风险
14、根据这个点说一下 ConcurrentHashmap 的线程安全提现在哪几个方面,为什么hashmap是线程不安全,比如手同时去并发操作一个 hashmap 会有什么问题(讲了同 key 并发扩容可能会有问题)
15、讲一下 ConcurrentHashmap 如何保证线程安全的(jdk 两个版本都讲了)
16、除了加锁还有什么方式保证线程安全(CAS)
17、CAS 在实际应用过程中会有什么问题吗(答了自旋性能消耗)
18、那在业务上会有什么问题(答了 ABA)
19、如何避免 ABA 问题(版本号)
20、上述所有的场景都是对于共享变量的一些操作保证它的线程安全,有没有其它方案做一些线程隔离呢(ThreadLocal)
21、详细说一下 ThreadLocal
22、讲一下线程池参数
23、详细说一下拒绝策略
24、现在有一个场景 往线程池提交一个任务但是这个任务里有一个子操作也是往相同的线程池提交一个任务(线程池参数:核心线程 5,最大线程 10,阻塞队列 10,拒绝策略调用提交任务的线程执行)会有什么问题
25、什么情况会用无界队列,什么情况会用有界队列
26、假设现在有一个机器的 cpu 是八核,内存 16g 那么他用无界队列队列会有什么问题
27、简单说一下 spring 的 Bean,它在内存的加载过程是什么样的(比如启动之后它注入的 bean 是如何加载到内存中的)
28、假设在 Bean 的初始化过程中,你想在对象 new 出来之前去做一个初始化的操作,你建议用什么方法。
29、简单说一下 initializingBean 和 postConstruct 两个先后的执行顺序
30、举个例子现在有一个项目,所有的类只有一个,也是用 Spring 框架,这个类继承了 BeanPostProcessor,正常来讲这个 BeanPostProcessor 也会做一些初始化的动作,你觉得现在这个情况下它里面的初始化方法会不会执行。
中间件考察
31、讲一下你了解的 redis 数据结构
32、redis 的 string 底层是怎么实现的(sds+链表)
33、redis 在大流量的并发场景起了什么样的作用
34、redis 是如何处理这些网络请求的?比如说我有 1w 个请求进来,它怎么拿到这些请求做处理。
35、假设现在有一个场景一共十个请求,我单线程处理和另一种场景也是十个请求但我有 10 个线程处理,你觉得哪种速度会更快(不好说,可能会有写的情况)
36、那么假设这十个线程都是读呢(十快
37、那为什么要设计成多线程呢
38、假设有一百万个读请求哪个更快(单快)
39、讲一下 mysql 底层为什么要是 B+树而不是 B 树
40、b+树在 I/O 方面和 b 树有什么区别
41、聚簇索引和非聚簇索引的区别
42、为什么不是所有索引的叶子节点都存放数据
43、索引失效
44、讲一下隐式转换这种索引失效案例
实习、项目考察
45、省略(主要问了实习的一下工作和压测相关的问题)
开放性问答以及手撕(合并两个有序链表)
反问
是心软面试官了,面试过程中非常友好,会对没有回答上的点进行解答。
-----------------
1h 后约二面
#美团约面#
1、自我介绍(2min)
2、面试官自我介绍(本地核心商业-基础研发平台-??没听清)
基础知识考察
3、介绍一下 TCP 的三次握手以及四次挥手
4、为什么握手是三次,不是两次或者四次
5、四次挥手一定是四次吗
6、说一下 TCP 的全双工
7、了解哪些 JAVA 的集合类
8、list 和 linkedlist 它两者的使用场景有什么区别
9、简单说一下 linkedlist 在中间插入的算法复杂度是多少(O(n))
10、hashmap 底层数据结构是什么
11、什么时候会触发 hashmap 的扩容
12、如何解决 hash 冲突
13、如果有两个线程同时往 hashmap 去 put 同一个 key 不同的 value 会有什么风险
14、根据这个点说一下 ConcurrentHashmap 的线程安全提现在哪几个方面,为什么hashmap是线程不安全,比如手同时去并发操作一个 hashmap 会有什么问题(讲了同 key 并发扩容可能会有问题)
15、讲一下 ConcurrentHashmap 如何保证线程安全的(jdk 两个版本都讲了)
16、除了加锁还有什么方式保证线程安全(CAS)
17、CAS 在实际应用过程中会有什么问题吗(答了自旋性能消耗)
18、那在业务上会有什么问题(答了 ABA)
19、如何避免 ABA 问题(版本号)
20、上述所有的场景都是对于共享变量的一些操作保证它的线程安全,有没有其它方案做一些线程隔离呢(ThreadLocal)
21、详细说一下 ThreadLocal
22、讲一下线程池参数
23、详细说一下拒绝策略
24、现在有一个场景 往线程池提交一个任务但是这个任务里有一个子操作也是往相同的线程池提交一个任务(线程池参数:核心线程 5,最大线程 10,阻塞队列 10,拒绝策略调用提交任务的线程执行)会有什么问题
25、什么情况会用无界队列,什么情况会用有界队列
26、假设现在有一个机器的 cpu 是八核,内存 16g 那么他用无界队列队列会有什么问题
27、简单说一下 spring 的 Bean,它在内存的加载过程是什么样的(比如启动之后它注入的 bean 是如何加载到内存中的)
28、假设在 Bean 的初始化过程中,你想在对象 new 出来之前去做一个初始化的操作,你建议用什么方法。
29、简单说一下 initializingBean 和 postConstruct 两个先后的执行顺序
30、举个例子现在有一个项目,所有的类只有一个,也是用 Spring 框架,这个类继承了 BeanPostProcessor,正常来讲这个 BeanPostProcessor 也会做一些初始化的动作,你觉得现在这个情况下它里面的初始化方法会不会执行。
中间件考察
31、讲一下你了解的 redis 数据结构
32、redis 的 string 底层是怎么实现的(sds+链表)
33、redis 在大流量的并发场景起了什么样的作用
34、redis 是如何处理这些网络请求的?比如说我有 1w 个请求进来,它怎么拿到这些请求做处理。
35、假设现在有一个场景一共十个请求,我单线程处理和另一种场景也是十个请求但我有 10 个线程处理,你觉得哪种速度会更快(不好说,可能会有写的情况)
36、那么假设这十个线程都是读呢(十快
37、那为什么要设计成多线程呢
38、假设有一百万个读请求哪个更快(单快)
39、讲一下 mysql 底层为什么要是 B+树而不是 B 树
40、b+树在 I/O 方面和 b 树有什么区别
41、聚簇索引和非聚簇索引的区别
42、为什么不是所有索引的叶子节点都存放数据
43、索引失效
44、讲一下隐式转换这种索引失效案例
实习、项目考察
45、省略(主要问了实习的一下工作和压测相关的问题)
开放性问答以及手撕(合并两个有序链表)
反问
是心软面试官了,面试过程中非常友好,会对没有回答上的点进行解答。
-----------------
1h 后约二面
#美团约面#
全部评论
现在实习招的都是什么超人
35不应该看cpu有多少个吗,如果只有一个那肯定是一个线程快,如果有10个核心并行处理10请求那就是10个线程快?
哈人,两小时,哥们口都干了
mark一下
mark
@藤藤菜ovo 看看你的美团,到底想要什么人
mark 一下
mark一下
mark一下
佬第38个为啥一百万个读请求单线程更快呢
太吓人了

美团这么问八股的
基础挺多的
超人面试
二面约的哪天哇佬
mark一下
接好运
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享

点赞 评论 收藏
分享
点赞 评论 收藏
分享