2020春招java实习面经(阿里美团唯品会华为)附学习资料

春招实习算是告一段落了,从二月中旬开始复习,四月份开始投简历,一直到现在,简单记录一下,回馈牛客,感谢这段时间牛客的面经陪我度过的日日夜夜。
基本情况:本人菜鸡一枚,没啥项目,烂大街的秒杀,刷了剑指offer,leetcode 250题左右,倒是背了不少面经
推荐书籍:深入理解java虚拟机,mysql技术内幕Innodb存储引擎,redis深度历险,剑指offer,java并发编程之美(强烈推荐),实战java高并发程序设计
推荐面经总结博客:https://thinkwon.blog.csdn.net/article/details/104390612 (强烈推荐)
图片说明
推荐视频: bobo老师的算法视频(慕课网),腾讯课堂的一些架构师视频(还挺不错的)需要的话留言

资源发在了评论区 8,9楼,自取哦!

  1. bobo老师的算法视频刷完加上课后布置题目独立完成,剑指offer各种优化题解,一般大厂都是没问题的
  2. TX课堂的视频可以有个大方向吧,自学不错

最后入职美团


java开发实习,主要考察:

  1. 做过的项目
  2. java基础
  3. 并发编程,juc下的一些组件
  4. jvm虚拟机
  5. 数据库
  6. 手撕算法
  7. 计算机网络,操作系统基础知识

美团

美团一面(80分钟左右)

  1. 自我介绍,介绍项目
  2. 问一些项目情况,redis为什么要设置过期时间,redis数据达到多少是阈值,过期时间是怎么设置的,商品信息有哪些,怎么实现redis,mysql数据一致性,为什么不采取更新数据库,再更新缓存?这样做有什么不好?怎么改进呢?等等
  3. final finaly finalize的区别?final可以修饰方法嘛?final修饰基础类型与引用的区别?
  4. 介绍一下常用的集合,arrayslist与linkedlist的区别(这里我深入分析了源码)
  5. 介绍一下hashmap(源码角度分析,还说了put流程,如何resize,最后细节到是否覆盖旧值的参数)
  6. 操作系统中线程与进程的区别
  7. 线程池的7大参数(例举了一下,最后详细介绍了几种拒绝策略),为什么有core,max线程数?(分析了一下整个线程流程)
  8. jvm中的内存区域(重点介绍了读论文时的JNI接口,本地方法栈,栈内分配,TLAB)
  9. 写算法:树的镜像交换,比较简单,写了递归,又写了基于层序遍历的非递归版本
  10. 反问:先夸一波面试官,您问的问题真的很棒,很多我在学习时忽略到的,虽然基础但是很深入,学习到了很多,没人能经受的了拍马屁吧!!!然后问了一些学技术的建议,企业希望大学生可以处于什么样的水平?

美团二面(50分钟)

第二天就接到了电话,约了面

  1. 自我介绍
  2. 读过redis源码嘛?redis的数据结构(除了基本五种,还说了超级日志,地理空间),Z-Set基于什么?介绍一下跳表?jdk中的跳表?
  3. 分布式session(介绍背景,流程,操作),session,cookie区别
  4. md5加密的流程?怎么应对彩虹表?
  5. rabbitmq一些知识(我说不怎么深入,就没问了)
  6. http请求头中的信息(基本都说出来)
  7. 输入 www.baidu.com 时的内部流程,dns基于udp还是tcp
  8. tcp/udp的区别
  9. 设计LRU (基于map,linkedlist)分析时间复杂度,要求优化,说了优先级队列将查找降为对数级别,不满意,叫我回去看linkedhashmap源码
  10. 算法:leetcode 197题,数组元素组合为最大的数,没想出来,提示是排序,代码写了半截,说了思路,面试官给了邮箱,写好了发给他
  11. 平时看的书籍:我把之前的书单一本一本摆在他面前(并说了日常怎么看书学习:就是吹牛)

美团hr面

二面后一个小时,收到了hr面
谈了入职时间,待遇
阿里,字节,美团选择哪个?(这里我没说阿里,感觉美团我也说不上来比阿里好在哪,强答有点舔的意思)
委屈字节了,什么美团底蕴好,字节只是短视频的风口,字节迷别骂我,说辞罢了


唯品会

唯品会是在实习僧上面投的,base 广州,上海

写在前面:

  1. 唯品会实习还是比较简单的,基本就是聊人生(我的强项)
  2. 一天230,包三餐,另外唯品会是公认的美女如云(理工男诱惑很大)
  3. 希望大家积极投递,打个广告

唯品会一面(35分钟)

  1. 自我介绍,介绍项目
  2. 数据一致性,分布式session,session,cookie区别?
  3. 读过spring,mybatis源码嘛?
  4. 数据库掌握的怎么样?说说你知道的(这个问题我很迷,还是介绍了索引,索引结构,使用场景,expalin关键字,说了自己改sql的一些心得)
  5. 写代码:无序数组中找中位数(这题我朋友面阿里也遇到过),快排patition解决
  6. 聊人生:你是怎么样的人,你的职业规划(吹了一波,然后还说了如何回报家乡社会,慷慨激昂,热血沸腾)

唯品会HR面

技术只有一面

  1. 对于实习地点的选择
  2. 待遇啥的
  3. 未来规划,基本的情况

ps:广东妹说话的语气好逗,特别 o~k 这个词说出来差点笑场

阿里

当时投阿里木的底气,笔试也不好,测评瞎写的,那些智力题随便勾的(阿里很看重这个),后来非常后悔
学校的原因还是给了面试

阿里一(60分钟)二(70分钟)三面(35分钟左右)

记不太清了,放在一起


一面:速度问的很快,基本涵盖了所有常考点

  • 项目的情况,redis,消息中间件,数据一致性,分布式session,实现分布式session的方式(除了redis第三方),登录的过程
  • redis 作用,删除策略,集群,缓存击穿
  • spring的循环依赖,spring bean的生命周期,事务传播级别
  • 介绍常见的集合,Arrayslist,hashmap,hashset等
  • 常见的并发包类
  • 常见的排序有哪些,说说希尔排序,为什么快?
  • 介绍红黑树,红黑树的特性,红黑树如何进行旋转
  • mysql,索引结构B+树,hash索引,怎么解决慢查询,什么情况使用不到索引,sql语句的执行流程,覆盖索引的实现
  • 虚拟机,类加载机制,垃圾回收器,cms,ps使用场景
  • int integer区别(内存位置)
  • 计算机网络三次握手,四次挥手,ddos攻击在哪一阶段

当天晚上加了笔试:1.给定一个字符串,请将字符串里的字符按照出现的频率降序排列。2.最长无重复字符串
很简单半个小时都写出来了


二面:和面试官聊的挺开心的,特别是最后聊学习方式,人生,我太能侃了

  • 计算机网络的五层,七层协议
  • udp/tcp的区别,微信使用的是哪种
  • 介绍快速排序
  • 完了记不清了(都是基础知识,全部都回答出来了)很简单
  • 平时怎么学习的?(这里说一下,遇到这种大的问题,不要简单的回答,而是塑造一种类似英雄故事,你之前是什么样的,然后遇到什么困难很痛苦,寻求改变,最终升华,所以现在是这样,要说的绘声绘色,面试官好比在听一部英雄故事,让面试官也能感同身受,心想确实是这样,这种英雄故事的方法可以应用在项目介绍中,针对某一个技术点,说(bian)一段英雄故事,之前使用什么技术,后来遇到什么问题,寻求改变,改进过后达到什么效果等等,面试官不会在意你的项目深度,更多的是你怎么解决问题,怎么思考?不知道你们能不能get到我的点)

三面:随便聊了聊,当场就给过,叫我好好准备后续面试

  • 自我介绍,项目介绍
  • 分布式session,redis怎么提高访问速率
  • 安全性md5加密流程
  • 说说redis(介绍了单线程,多路复用,主从模式,哨兵模式,集群模式,rdb,aof持久化流程)
  • 介绍快速排序,分析时间复杂度,如何改进?

阿里四面(40分钟)(挂)

这面翻车了

  • 职业规划
  • 你对java后续版本有什么建议?
  • 如果是你,你怎么设计一款垃圾回收器,怎么减少fullGC时间
  • 一段文章,我要将其hash到一段空间,可以使用指纹什么保存解密,你怎么设计?

全程黑人懵逼问号脸,答非所问,思维混乱,面试官很不开心,哎~


阿里被捞一面(25分钟)

  1. 自我介绍
  2. 怎么解决超卖?怎么解决高并发?怎么解决用户重复下单?
  3. 说说hashmap,resize流程,负载因子过大,过小会怎么样?
  4. 两个链表找公共节点:我说的是浪漫相遇法,他没听懂,电话面,然后叫我分析时间,空间复杂度
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
         /**
          定义两个指针, 第一轮让两个到达末尾的节点指向另一个链表的头部, 最后如果相遇则为交点(在第一轮移动中恰好抹除了长度差)
          两个指针等于移动了相同的距离, 有交点就返回, 无交点就是各走了两条指针的长度
          **/
         if(headA == null || headB == null) return null;
         ListNode pA = headA, pB = headB;
         // 在这里第一轮体现在pA和pB第一次到达尾部会移向另一链表的表头, 而第二轮体现在如果pA或pB相交就返回交点, 不相交最后就是null==null
         while(pA != pB) {
             pA = pA == null ? headB : pA.next;
             pB = pB == null ? headA : pB.next;
         }
         return pA;
     }
  5. 了解过用户推荐嘛?
  6. 技术发展的规划,想往哪个方向发展?
    然后,直接说到这里,拜拜!(我怀疑你是不是刷kpa的)

阿里被捞二面(30分钟)

写在前面:面试官小哥十分匆忙的样子,主要考察了算法方面的知识,前面几位面试官对我的基本表示肯定,但是对算法部分比较担心(哎 ~ 当初智力测评瞎写,笔试没认真)

  1. 自我介绍
  2. 两个栈模拟队列?
  3. 两个队列模拟栈,一个队列怎么做?
  4. 在十万的数字中找出前100?说了快排patition+二分,堆
  5. 10亿的数字找前10万,空间给1亿(分治法加堆),分析时间复杂度
  6. 100亿数字找前10亿,空间1亿(没怎么说好,bitmap)

小哥表示挺满意,并希望我能成功来阿里,经过团队的锻炼,实际项目的上手,我会有非常大的提高
明天约了面(哎~阿里的第七面)

各位看官还是强调一下:不要觉得题目简单,面试官主要不是让你做题,还是考察你的逻辑思维能力与言语表达能力

华为南研所一面

写在前面:问的非常简单,而且感觉有一种他就怕我答不好的错觉,我每次说了一半,等他追问,他直接换问题了,一脸蒙蔽

  1. 自我介绍,问我的导师是谁,专硕和学硕的区别
  2. 序列化与反序列化
  3. final与finalize区别
  4. 你如何理解并发包?
  5. 常用的集合有哪些?
  6. 如何理解GC?(这里我从c++引入,java有gc的好处,介绍垃圾回收算法,优缺点及适用场景)
    回答这个问题时装了一下逼:介绍了人月神话中的没有银弹,一项技术的产生就是基于解决旧技术所带来的问题,而随着业务场景的变化及新问题的出现,该项技术也会被新技术所取代,然后结合gc的回收算法说了自己的见解,面试官很认可。装逼成功!!!
  7. 写二叉树的深度及中序遍历递归非递归
  8. 华为测评显示焦虑,问了我情况
  9. 当场说过了,等业务主管面
#美团点评##美团##阿里巴巴##华为##Java工程师##实习##面经#
全部评论
抱歉,今天接到阿里电话,被捞起来了,没有及时登录回复 链接:https://pan.baidu.com/s/1v4KsxgMGG8wglJSkjiu4MA  提取码:ziac  复制这段内容后打开百度网盘手机App,操作更方便哦
2 回复 分享
发布于 2020-05-10 15:31
大家有用的话,动动小指头,点个赞,收个藏呀
2 回复 分享
发布于 2020-05-10 18:20
研究生还是本科生
1 回复 分享
发布于 2020-05-10 09:05
老哥好牛,平时是怎么学习的
1 回复 分享
发布于 2020-05-10 21:58
我要视频,谢谢
点赞 回复 分享
发布于 2020-05-10 05:19
老哥同求视频
点赞 回复 分享
发布于 2020-05-10 08:33
老哥,同求视频!
点赞 回复 分享
发布于 2020-05-10 09:44
老哥,能分享一下项目吗😳
点赞 回复 分享
发布于 2020-05-10 12:31
同求项目及视频,感谢!
点赞 回复 分享
发布于 2020-05-10 14:50
求腾讯课堂的视频
点赞 回复 分享
发布于 2020-05-10 15:06
TX课堂 链接:https://pan.baidu.com/s/1R2o-y7YWBYog6AQ6BQwfag  提取码:ujmq  复制这段内容后打开百度网盘手机App,操作更方便哦
点赞 回复 分享
发布于 2020-05-10 15:34
你好 视频可以发一下吗?
点赞 回复 分享
发布于 2020-05-10 15:38
反问还可以这样舔面试官, 学习了
点赞 回复 分享
发布于 2020-05-10 16:28
谢谢博主分享的面经和资源😘
点赞 回复 分享
发布于 2020-05-10 21:26
谢谢大佬,想问下bobo是讲玩转数据结构的那个吗,我是0基础,学这个之前需要先看下浙大的数据结构视频吗,目前做了算法题一共100道左右
点赞 回复 分享
发布于 2020-05-10 23:55
楼主,我想问下唯品会你拿到offer了吗😌
点赞 回复 分享
发布于 2020-05-11 00:56
太强了
点赞 回复 分享
发布于 2020-05-13 18:32
你好,8 9楼的资源失效了,请问能再发一遍吗
点赞 回复 分享
发布于 2020-05-17 21:27
大佬,太强了,同求资源啊,谢谢
点赞 回复 分享
发布于 2020-05-19 14:46
大佬,求项目资源,谢谢
点赞 回复 分享
发布于 2020-05-19 15:34

相关推荐

11-09 14:30
蚌埠坦克学院
兄弟们,本人2本9硕卷绩点保研党,本科期间稍微看了些开发视频,感觉各种调库,各种api,不太喜欢,没有深入下去,去学ai方面的东西了。研二感觉科研做不出来可能只够毕业,然后算是从只有servlet的基础开始转java,现在跟着尚硅谷学了se,jdbc,ssm,web,juc,jvm,MySQL然后跟黑马学了redis,跟着敲了点评,但是印象也没多深。现在在学苍穹外卖。没有跟着敲,就拿完整版代码每次复制一部分到最初版项目然后运行这样学。有几个问题想求助大家,之前那些课是不是需要跟着敲代码和做笔记?我当时不懂,感觉技术栈太多,也不知道哪是重点,就没记笔记和跟着敲,想做项目的时候在敲。我感觉现在好多东西都忘记了,看javaguide才能稍微回忆点东西,尚硅谷好像笔记也不怎么全,然后讲源码的部分更是当时就不知道哪是哪,事后基本不记得多少。感觉基础不是很牢,不知道是不是要再学一遍,想问问大佬们怎么学的。然后外卖和点评感觉好像挺难的,虽然感觉外卖没解决什么困难的技术问题,应届生真的能达到这种项目水平吗?我感觉比深度学习难好多倍,至少深度学习项目文件挺少。现在力扣只刷过200,大多还是看题解抄的,现在在二刷hot100,做笔记记录做法想法,后续多自己写几次,能记住,本人可能真的是做题家,编程思维有点欠缺,本科代码码的不够多,只能记住简单的二分,快排,背包这些,递归对我来说看题解都不太能自己理解和写出来。看了牛客上各位的情况,感觉就业挺难的,不知道能不能进个国企,也不知道自己究竟能做啥工作,感觉自己还跟高中生似的没啥长进,不想啃老,现在空有时间,好像学习方法不太对,该怎么做呢
投递牛客等公司
点赞 评论 收藏
分享
评论
60
446
分享
牛客网
牛客企业服务