0
点赞
收藏
分享

微信扫一扫

【Java暑期实习】阿里面经、美团面经、快手面经:应聘历程 + 面经 + 时间

青乌 2022-05-01 阅读 96

文章目录

附:我的简历情况

在这里插入图片描述
在这里插入图片描述

阿里Java暑期实习—应聘历程

笔试(3月14号)

有很多场,如果当前场次没有时间参加,那么不要点笔试链接,等这场笔试结束,会自动顺延至下一场笔试,直到最后一场为止(有些公司是只能顺延 2 次),我参加的第 2 厂,一共 4 道编程题。

一面(3月16号)

形式:电话面试
时长:54 min

在这里插入图片描述

1 问了我的高考志愿智能填报项目,差不多问了 30 分钟,之后又根据这个项目循序渐进地进行提问,面试官对我项目中的一个我设计的算法也十分感兴趣,给面试官讲了两遍;

2 说一下 Redis 缓存雪崩、缓存穿透;

3 MySQL 一个表有主键、a 字段、b 字段,如果有两个查询,一个的筛选条件是 WHERE b = ‘xx’,一个是 WHERE a = ‘xx’ AND b = ‘yy’,那么应该如何加索引;

4 秒杀时,如果秒杀消息在消息队列中丢失了怎么办;

5 说一下 synchronized、volatile;

6 Redis 分布式锁的注意事项;

7 图的层序遍历;

8 介绍部门,反问。

二面(3月18日)

形式:电话面试
时长:50 min

在这里插入图片描述
(这次面试非常可惜,因为在阿里一面时,感觉体验很好,和面试官的问答也非常流畅,得到了面试官的夸奖,但当我满怀信心面对这次二面时,确大脑短路了)

1 自我介绍;

2 家庭情况,我只说了我家住济南这边,感觉可以再说一些的,也有助于面试官了解一些我的成长环境,由于我说的少,果然接下来的问题就有很多性格判断的提问了;

3 问了我的高考志愿智能填报项目,因为在后期这个项目可能要上线了,就问我如何后期进行维护,如何今后做大了进行扩展,如何考虑实际商用下的并发性问题,出现安全问题怎么办,用户信息泄露怎么办;又问了一个用户经过拦截器的用户认证后,能访问另一个用户的信息吗,这里我竟然当时脑袋短路了,一时没说出来,后来明白了面试官的意思,但当时过于考虑安全方面的问题,感觉自己的回答可能也会有漏洞,最后导致没有答出来,因为我的项目是用了 Spring 的参数解析器,每次在后端需要用户认证的接口都是根据这个自动注入的 User 对象参数来执行的,不是直接在接口地址中有 /{userId}/,当时不敢说,导致最后面试官可能不太满意,我也感觉很可惜,一面时成也是这个项目,二面时败也是这个项目;

4 之后又问了一些主观型问题,在团队合作中,技术人员遇到分歧怎么办,你觉得你的笔试做的怎么样(我这里感觉我做的算法题并不是很好,但我的算法能力也并不差,但感觉阿里大佬云集,我哪敢说自己算法“还行”,于是我就说感觉很不好,面试官开始反问我,那么你的算法能力不好,这不与你喜欢 Java ,并且高三暑假就一直自学相矛盾嘛,然后我一时不知该说什么,可能过于谦虚也不行,因为我的算法也是比上不足比下有余了,最起码我也写过八十多篇算法的博客题解,但当时一时语塞,什么也没说,感觉这里也是我被挂的一个重要原因)

5 然后面试官又对我的高考志愿智能填报项目提了建议,和注意事项,感觉面试体验非常好,阿里的面试官的技术热情也很高,确实技术氛围没得说,但由于我二面状态不好,阿里是真的非常想去,等我下次再来!(再说句搞笑的事:当时面试时楼上暖气片炸了,导致我宿舍整个天花板都在渗水漏水,隔一段时间就有水滴到我头上。。。感觉这个也影响到我答辩了)。

被捞:一面(4月6日)

形式:电话面试
时长:37 min

在这里插入图片描述

上次二面果然挂了,之后又被另一个部门捞了,这次全程问的项目,问的是我的 高考志愿智能填报项目,问了有半个小时,其中后来又问了很多分布式的问题,问如果这个项目拓展成分布式,那么如何保证数据一致性;如果用户发起了更新用户名、更新密码这两个操作,到后台一个机器节点更新成功了用户名,另一个机器节点更新密码失败了,那么怎么办;如果回滚的话怎么回滚,全都是分布式的知识,我答的不算好,大致都答上来个差不多,不过是按我自己的想法答的,我也和面试官说明了,这是我的想法,不一定对,我感觉面试官可能就是想看看面试者是怎么想的,最后面试官很耐心地给我介绍了他们部门,介绍地非常耐心,他说错了几个词,然后自己赶忙纠正,后来又说如果有后续通知,会在一周内联系我。但是面试结束40分钟后,我查了一下官网,发现我被挂了,比较惊讶,因为我面试整体还是可以的,项目技术都解释地很清楚,面试官最后反馈也比较积极,所有我怀疑是不是面试官把我当成下一个面试者误挂了,还是点错了,或者遇到了一个更加厉害的大神呢,总之这次面试也是有些离谱,关键全程没问 Java、数据库知识点,都是项目,我感觉在阿里的这次面试确实有些独特,不过阿里的包容性是真的好,多次不过还能捞,而且 Java 不看学历是真的,至少在我目前环节中是能感受到的。

美团后端开发实习—应聘历程

笔试(3月12日)

美团这边我也是参加的第二场笔试,也是 4 道编程题,前一天晚上也在 B 站看了美团的校招宣讲会,官方说不看笔试成绩,我觉得多少也会参考一点吧,我当时笔试做的并不好,但后面确实是有面试。

一面(3月17日)

形式:视频面试
时间:50 min

在这里插入图片描述

1 面试官挨个问了我简历上的四个项目,我着重讲了我的高考志愿智能填报项目;

2 之后又着重问到了我另一个电商项目中的秒杀业务,根据秒杀业务又问到,关于库存在 Redis 缓存中,如何解决 Redis 分布式的实际场景中许多台服务器中 Redis 的数据一致性问题;

3 平时如何调试错误;

4 如何定位 Java 开发中的死锁问题;

5 写一个快排;

6 介绍部门,反问。

被捞:一面(3月28日)

形式:视频面试
时间:32 min

在这里插入图片描述
(上次面试很顺利,面试官给的反馈也很好,但还是没了,不太清楚原因,这次是又来到了另一个部门的面试)

1 面试官首先介绍部门;

2 我的自我介绍;

3 面试官看我简历上写的是高三暑假开始自学,然后稍微聊了一会,我又聊到我小学时就接触过一点编程启蒙这件事;

4 平时怎么办部署项目;

5 顺着项目问了,如何用 Nginx 做负载均衡;

6 说一下 Java 种的 synchronized 锁;

7 说一下 MySQL 的 4 中引擎,这里我解释得非常详细,以至于后面面试官打断我了,不然我觉得我还能说十几分钟;

8 说一下我的运动会管理系统这个项目中,是怎么设计数据库的,然后又问了几个表的关系;

9 又问了我的高考志愿智能填报项目中的一个核心算法,抽象思维解决选科要求的排列组合问题,用美团面试网页的白板给面试官讲了一下,这是我当时设计的一个非常巧妙的算法,我发现这几次面试,都会在这里让面试官眼前一亮;

10 反问。

被捞:一面(4月21日)

形式:视频面试
时间:2h 5min

(上次面试也还不错,但是没有进第二次面试,这次又到了另一个部门的流程。这次面试经历很棒,整整面试了 2 个小时多一点,我之前看牛客上的面经,结合我之前几次的面试情况,最多也就是 1 个小时,这次竟然能面试 2 个小时,感觉面试官非常有耐心,而且这次考察的也很多,面试体验非常好)

1、自我介绍

2、说一说 JWT

3、Redis 的数据类型,应用

4、项目中的用户登录认证是怎么做的

5、JVM 模型说一下

6、synchronized 锁和 Lock 锁的区别

7、synchronized 锁做了哪些改进,说一下偏向锁、轻量级锁…这些

8、ConcurrentHashMap 说一下底层实现和新旧 JDK 版本下的区别与改进

9、CAS 说一下,Java 中的底层实现是什么

10、MySQL InnoDB 和 MyISAM 引擎的区别

11、B 树和 B+ 树的区别

12、一条 SQL 查询语句,即 SELECT 的所有相关参数指令的执行顺序(要考虑 FROM 什么时候执行,也要考虑 SELECT 后各字段的映射是什么时候执行,不能只考虑 WHERE、HAVING、ORDER 这些)

13、写 三道 SQL题:一个学生表(学号,姓名,成绩,科目号):

  • 统计每个学生的平均分
  • 统计至少挂 2 科(分数低于 60 为挂科)的学生信息
  • 统计至少 3 科大于 80 分的学生信息

14、写一道编程题:y 已知,求 x^2 = y 时,x 为多少(都是整数,x 可能不存在)

15、再写一道编程题:y 已知,求 |x^2 - 0.01| = y 时,x 为多少,和上一题几乎差不多,但是当时写代码时,自己又临时想换种写法,二分查找时把 Math.abs(x^2 - 0.01) 写到了 > 和 < 情况的后面,因为最终结果本来就是允许误差为 0.01 的,因此有前两个情况在前,如果不是正好,肯定不会走最后一个条件返回正确结果了,因此当时就因为这个else if 判断的顺序问题,debug 了一会,面试官也非常有耐心,说我已经几乎写完了,这道题已经不是重点了,想借这次情况看看我 debug 的方式,最后成功找出问题,感觉十分羞愧,犯了这种低级错误。

总体感觉这次面试很不错,问的很全面,算法题也考了不少,加上三个 SQL 小题,都有 5 道题了。

在这里插入图片描述

二面(4月27日)

形式:视频面试
时间:1 h

1、自我介绍

2、介绍项目

3、写 SQL:打开美团,搜索手机充值,看看这个页面,然后建一张 MySQL 的订单表

4、MySQL 的日志有哪些?说一下 binlog

5、Redis 的数据类型有哪些

6、Redis 的淘汰策略有哪些

7、RabbitMQ 知道多少、像是持久化 …

8、说一说 Java 的类加载机制

9、给了一段 Java 的代码,有四个类(三个类有父子关系),问其中的输出怎么打印

10、使用过哪些 Linux 命令,如何统计一个文件中某个单词的出现次数,写一下指令

11、实习的时长是多少,能到什么时候

12、自己有什么优缺点
在这里插入图片描述

快手Java开发实习—应聘历程

形式:视频面试
时间:1 h 16 min
(这是我面过时间最长的一次了,因为最后的算法题我耽误了些时间)

笔试(没有)

没有笔试,快手可以投很多个志愿,这个接收我的部门并没有安排笔试,而是直接面试

一面(3月29日)

在这里插入图片描述
1 自我介绍;

2 Java 如何保证线程安全;

3 JVM 内存模型;

4 MySQL 和 Redis 的应用场景的区别;

5 Redis 有哪几种数据类型;

6 MySQL 数据库有哪几种存储引擎;

7 说一下 Spring 中的 BeanFactory 和 FactoryBena;

8 一个用户请求百度需要哪些经过哪些步骤;

9 计算机网络七层模型各层作用;

10Spring MVC 的执行流程;

11排序方法有哪几种;

12 写一道算法题,两个数组,求这两个数组的中位数,时间复杂度 O (log (m + n) );

13 反问。


举报

相关推荐

0 条评论