两个月面试6家(美团、滴滴、360、新浪、完美世界、搜狐)已拿滴滴18k*16薪offer

时间:2021-6-12 作者:qvyue

前言

两个月面了美团、滴滴、360、新浪网、完美世界、搜狐六家公司,其中两个公司面的都是Java研发,美团三面面试官说是做外卖机器人(类似无人驾驶车),个人比较感兴趣,如果发offer,就签约美团了。找工作这几个月,自己也看了很多的面经,收藏了一系列的面试资料,为了回馈帮助过或给我带来信心和失落时鼓励的你们,特将美团、滴滴、360、新浪网、完美世界、搜狐的面试经历记录一下。希望取之以桃,报之以李吧。另外有需要面试资料的小伙伴们,也可以在文末领取一下!

两个月面试6家(美团、滴滴、360、新浪、完美世界、搜狐)已拿滴滴18k*16薪offer
image

美团

一面

1.自我介绍和项目。

2.项目里面的数据库如何设计的?

3.varchar的最大长度,超过了用什么?

4.多列索引怎么用?并解释底层原理。

5.左连接、右连接、内连接。

6.说出几种保证线程安全的方法。

7.说出几种保证线程同步的方法。

二面

1.自我介绍和项目。

2.五层网络协议和osi七层网络协议。

3.tcp3次握手和4次挥手,并解释如果3次握手改成两次行不行?

4.编程题,判断链表是否有环,除了快慢指针还有其它做法嘛?

5.编程题:找到链表的中间节点。

6.编程题:给出一个char数组 比如a,b,c每个字符出现的概率给出,如10%,20%,70,写一个算法保证打印10000次字符,这三个字符的出现频率是给出的频率,而且每个字符都是随机打印的,不能连续打印。

7.Mysql的存储引擎。

8.事务的隔离级别,并回答幻读是出现在一次事务操作还是两次?

9.说下你了解的设计模式,并说下单例中的饿汉式和懒汉式的区别和各自的优缺点。

10.场景设计,商品表,一共100件商品,如何保障多用户购买商品时,商品数量不会出现负数,并且保证效率最高。

三面

1.cap了解么?分别指什么?

2.网络编程nio和netty相关,netty的线程模型,零拷贝实现。

3.Redis是单线程还是多线程?Redis的分布式集群怎么做?

4.分布式消息队列有哪些(Kafka等)?有使用过哪些?具体应用在什么场景?

5.负载均衡怎么做的呢,为什么这么做,了解过集群雪崩么?

6.谈谈高并发场景下削峰,限流的实现?

四面

HR面,聊优缺点,聊人生规划,聊学习技巧,聊各种有的没有,问Offer状况。

两个月面试6家(美团、滴滴、360、新浪、完美世界、搜狐)已拿滴滴18k*16薪offer
image

滴滴

一面

1.自我介绍,讲自己的实习经历和做的项目。

2.写道题,判断一个字符串是否为回文字符串(送分题)。

3.给出一张表,对应该表,问了两个问题,写sql语句(一个学生表,一个成绩表,查询某人的总成绩,更改某人成绩)。

4.写出你Linux常用的一些命令,然后问给一个文件,统计包含a,b,c的文件行数,如何查询扩展名为.abc的所有文件?

5.场景设计题,滴滴打车发红包,许多用户抢,如何保证一个红包被一个用户抢到后不被其他用户抢?

6.给你一支圆珠笔,测试它是否符合生产条件?

7.用没用过redis,说下redis的好处和数据类型?

8.设计模式了解嘛,说下单例模式,并手写一个线程安全的单例。

9.重载和重写的区别。

10.java的多态体现在哪里?

二面

1.自我介绍和项目,对应项目问了n元文法模型,然后手写公式。

2.Redis的持久化操作。

3.如何利用redis处理热点数据?

4.TCP三次握手的过程,如果没有第三次握手有什么问题。

5.分布式锁怎么实现?

6.说下常用的排序算法,写下归并排序。

7.手推归并排序的时间复杂度。

8.说下java的反射机制,并解释为什么java有反射而c++没有,还有反射的应用场景。

9.为什么要双机房容灾备份,什么时候会整个集群都挂掉?

10.Kafka 用吗,你们用kafka来干嘛的,kafka怎么保证消息不丢失的?

11.如果10倍流量来了,你们redis扛得住吗?

12.为什么要双机房?

13.死锁遇到过吗,讲一下?

14.多线程了解吗, 说一下synchronized跟reentrentLock的区别?

15.写消费者生产者模型。

三面

1.什么时候多线程会发生死锁,写一个例子?

2.说一说jdk1.8中,对hashMap的优化,对concurrentHashMap的优化?

3.如何解决hash冲突的,以及如果冲突了,怎么在hash表中找到目标值?

4.有1000个数据存在hashmap中,实际的数量是多少,考虑负载因子和扩容?

5.常见的RPC有哪些?对应的区别和性能比较?

6.操作系统的用户态和核心态切换条件以及为什么要切换?

7.线程间的通信方式,异步队列,消息延迟获取?

8.Tcp知道不?

9.Http的header有哪些?

10.浮点数求立方根。

四面

HR谈人生理想和讲滴滴的业务。

两个月面试6家(美团、滴滴、360、新浪、完美世界、搜狐)已拿滴滴18k*16薪offer
image

360

一面

差不多三十五分钟左右吧

1.介绍你做过的项目。

2.手写单例模式。

3.布局优化。

4.有没有用过什么开源框架?

5.ImagLoader的实现原理。

6.OnTouchEvent事件中 down事件 和up事件的传递。

7.hashMap的实现原理。

8.LinkedHashMap的实现原理。

9.内存管理及优化。

10.点九图。

二面

一面过了十多分钟以后,接着就进行二面,都是视频面试,差不多二十分钟左右

1.AsyncTak的原理及常用方法。

2.APK从安装到启动的过程。

3.平时是怎样学习的?

4.学习和实习是在怎样协调的?

5.有360手机助手有什么想了解的吗?

题外话

感觉个人太紧张了,有好多原理性的东西讲着讲着就忘记讲了,面试的时候真的是太紧张了,发挥不太好,平时一定要多总结,不然面试的时候一下子总结地不太好,发挥不出应有的水平。

两个月面试6家(美团、滴滴、360、新浪、完美世界、搜狐)已拿滴滴18k*16薪offer
image

新浪

一面

1.先问自我介绍,说一下你认为的团队合作?

2.用过Linux系统吗?常用指令(我说不太了解,就没问)

3.说一下虚拟内存?

4.介绍一下hashmap?

5.hashmap和hashtable的区别?

6.算法题:10万行数据,每一行都是一个int类型的数,按数字出现的频次取出现次数最高的10个数

7.输入是一个整形数组,输出:数字+频次

8.思路:可以自己定义一个类,里面key为出现的数字,value为出现的频次

9.然后新建一个容量为10的小顶堆,按照value进行排序。

10.我是用hashmap统计的,然后再对value用小顶堆(priorityqueue)排序,需要把value和key绑定。如果下一个的value小于堆顶则丢弃,大于堆顶则插入。

二面

1.自我介绍;

2.介绍项目;

3.KVM和XEN虚拟化的区别

4.如何用JAVA生成永远的ID:UUID(Universally Unique Identifier)

5.树的遍历,并非二叉树的遍历

6.堆排序的问题

7.多线程轮流执行用什么锁??

8.AOP的底层原理(动态代理,GClib)

9.Object类的方法

10.循环依赖如何解决,自己设计几种算法

11.快速排序原理,随机快排口述

12.iptable实现反向代理

三面

1.首先问了我发表的论文具体的内容是什么?

2.虚拟内存知道么?什么时候使用虚拟内存?虚拟内存除了扩大内存还有什么用?

3.Spring的上下文切换,如何优化上下文优化来做到减少系统资源消耗?

4.函数调用约定了解么?Function calling convention。

5.进程线程的区别,除了包含关系之外的一些区别,底层详细信息。

6.TCP/UDP 全部内容:三次握手、四次挥手、为什么不能两次,为什么三次,TCP的可靠是怎么实现的,滑动窗口,为什么是2MSL?

7.边缘网关协议了解么?简单描述一下

8.Docker容器相关。

9.高并发接触过么(没有,都是用户量小,业务驱动技术,并不是产品驱动技术)

10.最后一个就是sql语句的考察,然后各种变换情况,表连接什么的,我以为写错了,结果面试官说都对~

两个月面试6家(美团、滴滴、360、新浪、完美世界、搜狐)已拿滴滴18k*16薪offer
image

完美世界

一面

1.自我介绍。

2.讲一下HashMap,HashMap和Concurrent HashMap有什么区别,HashMap的Key可以为Null吗?Concurrent HashMap呢?

3.知道异常吗,将你知道的异常写出来(这个我把异常的整个体系画出来了,然后我自觉的将Error和Exception区别讲了一下),说说常见的Runtime Exception。

4.了解并发编程是吧(因为我简历上写了了解Java并发编程),讲讲Synchronized和Lock(这个我就将用法和注意事项和性能的区别一一讲述),Synchronized修饰普通方法和修饰静态方法有什么区别,然后面试官给我写了两个情景让我讲程序运行情况。

5.讲讲GC机制,知道担保机制吗?

6.Java中阻塞线程的方法有哪些?(刚开始紧张说成中断有哪几种了,然后面试官提醒我说他没问这个)

7.平时数据库用的是什么?讲讲Mysql的存储引擎。写几个SQL语句。

二面

1.会用线程池吗?知道数据库连接池吗?如果让你写一个你怎么写?(现场写喔,但是我当时不知道怎么想的,以为面试官让我写线程池,我就写了半天线程池,然后面试官等不及了就看我写的我还一本正经的给讲线程池,然后就很尴尬的进入下一题了哈哈哈哈)

2.知道Https吗?写一下详细连接过程。

HR面

主要是问如何做的项目和平时生活学习状态,讲了一下薪酬和培训机制,感觉完美的人都蛮好的~

总裁面

总裁很有气场!进去就直接问项目里的东西,讲了一些项目里用到的技术,问平时怎么学习,看什么书,在项目里都干了什么。然后就差不多了,感觉总裁特别特别忙,问我有什么问题,我就说没有了,然后就结束啦。

两个月面试6家(美团、滴滴、360、新浪、完美世界、搜狐)已拿滴滴18k*16薪offer
image

搜狐

一面

1.自我介绍。

2.你用到了LDA,那么请讲一下LDA的原理是什么?我简单说了一下LDA生成文档的过程,但是根据什么生成没答上来2333(LDA是我的痛,看了几遍没看懂)

3.也就是说你的计算是现场算的么?是的,我知道这样效率有问题,我的系统中没有解决,但是可以先对新闻进行聚类,然后对每个簇提出一个模型,先匹配簇在选择新闻(SCENE 论文中的方法)

4.你的数据量有多大?3万多条新闻,100个用户吧。

5.你的用户较少,那么在推荐的时候矩阵一定是稀疏的,对于这个稀疏矩阵应该如何处理?可以用PCA或者SVD进行矩阵分解

6.你的关键字是如何从文档中提取出来的?使用了中科院的NLPIR+TF-IDF算法。

7.讲一讲tf-idf是什么意思,TF就是表示词频,IDF是逆文档频率的意思计算方法为log(N/n),N新闻集的大小,n为包含这个词的新闻的数量。

8.你系统使用什么语言实现的?

9.你的新闻的备选集如何获取?选取当天新闻,挨个算一遍。

二面

1.你的项目部署在哪里?

2.讲一下项目

3.把项目中的主要数据库表怎么设计的写一下它的结构

4.用户表密码是怎么存储的?(回答MD5)你知道还有别的加密方式吗?

5.写SQL,根据设计的表进行多表查询(写了一个嵌套查询,又让写join查询)

6.索引该怎么建?针对你设计的表每个字段,需不需要建立索引?

7.建索引的原则是什么?

8.你主要用了SpringBoot的哪些功能?

三面

1.你做的项目,哪些是对你来说无论是技术成长还是难度上是比较挑战,你项目遇到什么挑战怎么解决的?

2.你的项目具备什么样的能力,主要是解决什么样的问题?

3.项目的一些问题,做了多久?你每天都会做吗,还是会做一些学习上的事情?

4.做完之后有请周围的人或者朋友来感受一下吗?

5.算法题:

输入一个整数,判断是否是自除数

输入一个字符串,只考虑数字和字母,忽略字母大小写,验证是否为回文串?

6.代码中为什么用StringBuilder,不用StringBuffer?

7.你有看过Java怎么实现equals和hashcode吗?

8.好了,那么你觉着你自己都有哪些优点呢?

最后

所有的面试题目都不是一成不变的,上面的面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。