面试官真的很nice,美团效率是真的高,面试第二天上午就来了通知,虽然没过,但是一次不错的体验,第一次面试就这样结束了。
美团一面:
中间省略掉大概几个问题,因为我不记得了,下面记得的基本都是我没怎么答好的。
- 了解SOA,微服务吗?
- 分布式系统如何负载均衡?如何确定访问的资源在哪个服务器上?
- 一.轮询。二.随机。三.最小响应时间。四. 最小并发数。五.哈希。
- 设计一个分布式负载均衡缓冲系统,如何快速定位到是那个服务器(使用key分段、一致性hash)
- 如何保证缓冲区和数据库之间的强一致性(使用加锁)
- HashMap高并发情况下会出现什么问题,(扩容问题)
- 说一说在浏览器中输入一个url后,直到浏览器显示页面的过程中发生了什么(我主要说了DNS,然后他有接着问了DNS的细节,然后就是ARP路由,然后服务器处理,返回,浏览器呈现,获取html中的依赖资源)
- 字符串中句子的反转(比如ABC DEF,输出DEF ABC)(很简单,可以先反转整个字符串,然后反转单词,或者先将句子切分为单词,然后反转);
- 给任意二叉树的所有结点加next指针(这个有原题,也可以参考按层打印二叉树)。
- 用过反向代理吗?
美团二面:
- 进程间共享内存的方式有哪些?(8种)
- linux下如何查看网络端口状态(netstat),如何查看内存使用情况(top)?
- ConcurrentHashMap如何扩容?
- 知道java的异常吗?
- 运行时异常如果不处理会怎么样?应该怎么处理运行时异常?
- 写代码:给你5000万个int,求出前1000个最大的数,有2G内存。(我刚开始以为5000万个int很多,还把G和byte的换算忘了,后来面试官指导才想起来。我的方法是维护一个1000的小根堆,然后遍历数组,总体下来时间复杂度是O(nlg1000))
- 给你n个不重复的整数,随机找出m个不重复的整数,要求时间和空间复杂度都是O(m)。(方法很简单,就是每次把取出来的数放到后面,只在前面的数组随机访问就可以了,时间复杂度是O(m),空间复杂度是O(1),不过我刚开始没有想到把选出来的放后面去)。
- 对于SQL慢查询的优化?(主要是从查询语句和数据库表设计两个方面来考虑,查询语句方面可以增加索引,增加查询筛选的限制条件;数据库表设计的时候可以拆分表,设计得更细粒度。但是后来才发现面试官想要的就是查询大量数据的慢查询问题的优化。)
- 用过哪些容器?(tomcat)对比过Tomcat与其他服务器的区别吗?比如nginx?
- 用过动态代理吗?以后会经常用到的。
美团三面:
- 自我介绍,说说你项目中的数据流向(画结构框图)
- 看过什么书?
- 说说深入理解JVM中印象最深刻的章节(我说了JVM内存模型,垃圾回收和类加载);
- 补充:还问了堆和栈中存的是什么?static修饰的遍历存在哪里?(方法区)
- 说说《Effective Java》中你印象最深的三条和你的理解
- 你觉得你哪一块只是最熟悉(我说了Java的基本数据结构)
- 那你说说HashMap的内部实现;
- HashMap是线程安全的吗?(不是,ConcurrentHashMap是)
- 那ConcurrentHashMap内部是如何实现的?每个segment是个什么数据结构?(HashTable)
- 你的项目中用到哪些技术?(Spring)
- 说说你用了它的什么?(Spring IOC用的最多)
- Spring的优点?Spring AOP的原理?Spring如何实现解耦合?
- 对链表了解吗?(我说是List吗)是,(了解ArrayList和LinkedList),那你说说他们的区别?
- 会做链表两个结点的交换吗?(链表反转吗?)是的,你写代码实现把。
- 再写一个,给你一个链表和一个整数k(k大于等于0,小于等于链表长度,链表长度未知),按k步
- 反转链表(比如1->2->3->4->5->6->7,当k=3的时候结果是3->2->1->6->5->4->7)
- 说说mybatis配置了xml过后是如何完成数据库操作的?
总体来说第三面感觉没过,前两面还行~呜呜呜可能是面完前面2面太膨胀了,导致第三面的时候没有发挥好,结果就GG了
努力备战“金三银四”
现在已经2月份了,在家过了年之后也要准备今年的招聘了,想要在金三银四斩获offer的朋友们都要开始准备复习啦,在这边也分享一些我的复习计划**,欢迎和我一起!!!**
有准备好复习资料也没关系:我已经准备好的所有的复习资料都是可以免费的分享给有需要的小伙伴们的!需要文中分享的全部学习笔记的朋友注意啦:戳这里免费领取,暗号:简书免费领取!!!!
综合分类有Java基础,框架,多线程,网络通信,Linux,数据库,设计模式,算法,缓存等几个模块都已经涵盖
我的JAVA学习笔记
(1)JAVA面试宝典
JAVA面试宝典
(2)JAVA并发体系学习思维脑图(xmind)
JAVA并发体系学习思维脑图
(3)多线程并发编程学习思维脑图(xmind)
多线程并发编程学习思维脑图
03 Redis相关
14个高频Redis知识点
(2)Redis学习思维脑图(xmind)
Redis学习思维脑图
04 思维/算法
算法刷题
05 操作系统、Linux相关
5.2 Linux学习宝典
Linux学习宝典
06 网络相关
6.2 JAVA核心知识整理(JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存)
JAVA核心知识整理—网络
最后的最后
再免费分享一波我的JAVA架构专题面试真题+解析+我的JAVA学习书籍:戳这里免费领取,暗号:简书免费领~**
JAVA架构专题面试真题+解析+我的JAVA学习书籍
重要的事情再说一遍,需要文中分享的全部学习笔记的朋友注意啦:戳这里免费领取,暗号:简书免费领取!!!!
Java高频面试专题合集解析:
当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,在这也是免费分享给那些有需要的朋友,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!
这些资料都以整理成了PDF文档,如果有需要可以狂戳这里免费下载即可!
更多Java架构进阶资料展示
存中…(img-r1kx0GVE-1623742889715)]
更多Java架构进阶资料展示
[外链图片转存中…(img-j5cBbgPj-1623742889716)]
[外链图片转存中…(img-LOhgRok4-1623742889717)]