1.序
马上春招了,分享一波干货。腾讯、百度、阿里、京东、快手、斗鱼、华为、海康威视等面试过程。昨天分享了百度,今天来看看美团。
在面试之前给大家看看我的简历以及个人简介部分,因为面试过程与自己的简历有很大关系。面试官往往会结合简历以及个人简介来问。
<mark>个人简历+项目介绍+简历模板</mark>:梦想成真-----项目自我介绍
<mark>个人简介+自我介绍(视频讲解)</mark>:一字一句教你面试“个人简介”
2.美团面试过程
2.1美团1面 (部门:小象、时间:70分钟)
1 A题
两个顺序链表
循环打印矩阵
剑指offer—顺时针打印矩阵
2Linux系统命令 部署服务器
https://blog.csdn.net/weixin_41563161/article/details/102618800(
Linux基本操作)
https://blog.csdn.net/weixin_41563161/article/details/105306067(linux总结)
3TCP 三次握手四次挥手何时建立连接 第三个丢了怎么办
计算机网络----三次握手四次挥手
4为什么要重写equal() HashCode()
总结:默认情况下也就是从超类Object继承而来的equals方法与‘==’是完全等价的,比较的都是对象的内存地址,但我们可以重写equals方法,使其按照我们的需求的方式进行比较,如String类重写了equals方法,使其比较的是字符的序列,而不再是内存地址。
5集合怎么选pojo
6索引的坏处
https://blog.csdn.net/weixin_41563161/article/details/102610132(B树 B+树 红黑树详解)
https://blog.csdn.net/weixin_41563161/article/details/104163948(b树和b+树的区别)
https://blog.csdn.net/weixin_41563161/article/details/105483950(B+树分裂)
https://blog.csdn.net/weixin_41563161/article/details/105165346(索引)
https://blog.csdn.net/weixin_41563161/article/details/103553313(数据库索引怎么实现的)
https://blog.csdn.net/weixin_41563161/article/details/102859171(普通索引和唯一索引,应该怎么选择?)
https://blog.csdn.net/weixin_41563161/article/details/102457643(深入浅出索引)
7TreeMap什么时候用
规则1:节点是红色或黑色的;
规则2:根节点是黑色的;
规则3:每个叶子节点都是黑色的空节点(NIL节点);
规则4:每个红色节点的两个子节点都是黑色的(从每个叶子到根的所有路径上不可能有两个连续的红色节点);
规则5:从任一节点到其每个叶子节点的所有路径都包含相同数目的黑色节点;
1 红黑树是牺牲了严格的高度平衡的优越条件为代价,它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。
2红黑树能够以O(log2n)的时间复杂度进行搜索、插入、删除操作。此外,由于它的设计,任何不平衡都会在三次旋转之内解决。当然,还有一些更好的,但实现起来更复杂的数据结构能够做到一步旋转之内达到平衡,但红黑树能够给我们一个比较“便宜”的解决方案。
3结合TreeMap
TreeMap 实现了 SortMap 接口,其能够根据键排序,默认是按键的升序排序,也可以指定排序的比较器,当用 Iterator 遍历 TreeMap 时得到的记录是排过序的,TreeMap 取出来的是排序后的键值
4红黑树占用的内存更小(仅需要为其存在的节点分配内存),而Hash事先应该分配足够的内存存储散列表,即使有些槽可能弃用
https://blog.csdn.net/weixin_41563161/article/details/104986919(TreeMap使用场景 优势)
https://blog.csdn.net/weixin_41563161/article/details/102610132(B树 B+树 红黑树详解)
https://blog.csdn.net/weixin_41563161/article/details/104163948(b树和b+树的区别)
https://blog.csdn.net/weixin_41563161/article/details/104163994(TreeMap了解吗 红黑树)
https://blog.csdn.net/weixin_41563161/article/details/105462349(红黑树叶子节点都为黑色)
https://blog.csdn.net/weixin_41563161/article/details/104452601(java面试 –红黑树(插入删除过程详解))
8进程 线程 协程之间的
https://blog.csdn.net/weixin_41563161/article/details/104983775
9你的职业规划是什么
我喜欢就是大家一起为了一件事或者一个目标把它从0 到1实现的过程,特别特别享受整个过程。把一件事做好,做到自己认为满意为主。所以自己将来的职业规划就是在一个很好的团队里面然后大家为了一个同一个目标而努力。
2.4.2 美团2面 (70分钟)
1题目
1 二分查找
二分查找,有序数组,找到返回下标,未找到返回-1
2最好一样
给出一个序列包含n个正整数的序列A,然后给出一个正整数x,你可以对序列进行任意次操作的,每次操作你可以选择序列中的一个数字,让其与x做按位或运算。你的目的是让这个序列中的众数出现的次数最多。
请问众数最多出现多少次。
输入描述
输入第一行仅包含两个正整数n和x,表示给出的序列的长度和给定的正整数。(1<=n<=100000,1<=x<=1000)
接下来一行有n个正整数,即这个序列,中间用空格隔开。(1<=a_i<=1000)
输出描述
输出仅包含一个正整数,表示众数最多出现的次数。
示例1
输入
5 2
2 1 3 2 5
输出
2
2 链地址法和开放地址法 各自优势对比
https://blog.csdn.net/weixin_41563161/article/details/105104239
3 (解释)磁盘预读性原理
https://blog.csdn.net/weixin_41563161/article/details/105103520
4 用hashmap实现范围查询
Hashmap + 双向链表 找到两个节点,然后直接取中间的这一段
类似于LRU的实现
5 主讲项目(项目中的难点,解决,优化)
个人简历:梦想成真-----项目自我介绍
6 分布式建议学习一下
7 数据库整个讲了一遍(索引 事务 引擎 两阶段锁 MVCC)
建议这里把数据库都整理一遍
8 hashmap底层(插入 红黑树 8 扩容 等等全部细节)
https://blog.csdn.net/weixin_41563161/article/details/105462699(hashmap中两次hash过程)
https://blog.csdn.net/weixin_41563161/article/details/102659874(java中HashMap原理)
https://blog.csdn.net/weixin_41563161/article/details/105041804(HashMa在JDK1.7版本头插法实现解析)
https://blog.csdn.net/weixin_41563161/article/details/104708231(hashmap底层实现)
https://blog.csdn.net/weixin_41563161/article/details/104190568(HashMap、Hashtable、ConcurrentHashMap的原理与区别)
9垃圾回收处理
https://blog.csdn.net/weixin_41563161/article/details/103882414(G1和CMS区别)
https://blog.csdn.net/weixin_41563161/article/details/103865628(分代回收算法)
https://blog.csdn.net/weixin_41563161/article/details/104093660(GC回收机制(垃圾回收器经典算法)(JVM中内存区域的划分)(GC收集器有哪些))
10 CMS G1 GCRoot StopWord (如何解决CMS的碎片问题 包括改进)
CMS那一块具体看jvm书籍点击 你们要的免费书来了 获取jvm书
2.4.3 美团3面 (60分钟)
1选课系统如何设计 事务 字段 表
就是为一个系统设计一个数据库,所以建议大家想想怎么设计。比如自己的项目,或者是学生管理系统。
2课程表和学生表是分开的。所以设计的时候学生选课的时候要开启事务,如果课程没了怎么办。
https://blog.csdn.net/weixin_41563161/article/details/101111928(最全事务)
https://blog.csdn.net/weixin_41563161/article/details/102852150(事务到底是隔离的还是不隔离的?)
https://blog.csdn.net/weixin_41563161/article/details/105722700(
Innodb中的事务隔离级别和锁以及MVCC之间的关系)
3切蛋糕递归题目
递归大全梦想成真—递归详解
public class Main3 {
public static void main(String[] args) {
System.out.println(getNum(3));
}
static int dp = 1;
public static int getNum(int n) {
if (n == 1) {
return 1;
}
dp = 1 + getNum(n - (n / 3 + 1));
return dp;
}
}
4数组中最大值
递归大全梦想成真—递归详解
public class Main3 {
public static void main(String[] args) {
int[] nums = {
2,8,9,3,4,1};
System.out.println(getMax(nums,6));
}
static int res = Integer.MIN_VALUE;
public static int getMax(int[] nums, int n) {
if (n == 0) {
return res;
}
res = Math.max(nums[n-1], getMax(nums, n - 1));
return res;
}
}
5 Scoket sendMessage消息传递函数怎么设计的
梦想成真—Socket技术详解
6选你的最大优势特点
第一
1自己对于目标的实现度很强 责任心 不是自己的工作全部主动去负责
第二
2 快速成长能力 项目中从0到撑起一个项目 (就跟部门的那个人说的)
第三
3自己的为人处世 这一块我学生工作让自己提升起来,能很好的处理人际关系与事情。
7前两面的最大的一个感受
所以一定要好好准备一下之前的一个问题
8 计算机网络Socket TCP IP之间的区别
程序员必考—http\https的连接过程
计算机网络----三次握手四次挥手
9 为什么想要来美团
其实这个问题的话是我自己的一个目标吧,就比如您也看到我的简历了,本科是长江大学的,但是我不甘心,不像是芸芸众多大学生一样每天游戏一样的生活,所以每天砥砺前行,所以不断的读书,一点一点的进步,一步一步走到了学生主席的位置。后来发现在这个环境下无法再有很大的提升,于是自己想着换个平台吧,所以就考到了地大,到了地大发现原来高手这么多,自己是最菜的一个,所以又重新开始,一步一步向前爬,终于在自己的努力下又获得了一点点小成绩,独立负责项目,现在呢,我想要进美团的原因一样,我想要和更厉害的人在一起,我渴望这种进步,我从不畏惧困难,。一个人的成长不就是从一个舒服的环境到另一个更高的平台前进吗??
3.美团面试感受
-
美团面试<mark>一周一次</mark>的,所以你有一周的时间去准备。
-
美团每<mark>一轮都会有A题</mark>,很重视结果,所以建议努力刷题,然后面试的时候即使是A不出来但是也要尽力说出思路以及你的方法。
-
一定要有一个<mark>特别突出的地方</mark>让面试官对你有好印象,比如数据库或者操作系统,你能讲出自己的理解以及底层东西出来。
-
面试到三面一定不要放松下来,正经三面主管面试会有<mark>一票否决权</mark>。
-
美团面试官很好,所以不要紧张,尽情的展现自己。
本公众号分享自己从程序员小白到经历春招秋招斩获10几个offer的面试笔试经验,其中包括【Java】、【操作系统】、【计算机网络】、【设计模式】、【数据结构与算法】、【大厂面经】、【数据库】期待你加入!!!
1.计算机网络----三次握手四次挥手
2.梦想成真-----项目自我介绍
3.你们要的设计模式来了
4.一字一句教你面试“个人简介”
5.接近30场面试分享
6.你们要的免费书来了