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

相关推荐

#软件开发2024笔面经# [项目]1、责任链模式,暴露的接口是什么类型的接口?是 http的吗?展开说说?责任链是通用性的还是每个接口一个责任链?如何判断请求是否有效?(比如用户是登录状态的还是非登录状态的,我回答的用的token)2、缓存穿透以及在项目中如何解决?有没有想过布隆过滤器和set都是放在一个分片中的,那它们就会承载所有的请求,set可能会有big key问题如何解决以及怎么理解布隆过滤器是分布式的?3、介绍一下余票缓存一致性解决方案?4、系统有进行压测吗?说一些压测数据?5、订单的分库分表?复合分片算法6、介绍一下表结构 ?7、介绍一下车票下单的整体流程?如果订单表与座位表不在一个库中,如何解决分布式事务问题?支付环节在那一步之后去执行?8、简单介绍一下短链接系统?跳转短链接的流程?[八股]1、介绍一下集合有哪些?2、HashMap的数据结构?3、如何通过反射获得对象的方法?如何获得其父类的方法?4、介绍一下http1.0 http1.1 http 2.0?Http 2.0 的应用场景?目前最常用的是那个版本?5、了解常见的RPC吗?6、select a from t where b = ? and c > ?  如何建索引?7、介绍B+树?8、在项目中使用Redis如何做序列化、反序列化的?9、如何在项目中使用线程池?如何保证多个线程执行的事务问题?(第一线程执行成功、第二个线程执行失败 第一个线程如何感知第二个线程执行失败并回滚)10、有了解过Spring的源码吗?管理bean的容器具体是啥?spring使用什么结构储存bean?11、bean的生命周期?有哪些拓展的接口?12、spring与sprintboot的区别?约定大于配置的体现?13、mybatis使用过一些拓展吗?resultMap与resultType的区别?14、讲一下设计原则和设计模式?举一个单例的使用场景?算法 反转链表
点赞 评论 收藏
转发
头像
04-12 15:37
C++
岗位直接对接HR, 人岗点对点匹配Web技术研究员岗位职责:面向公司Web领域,聚焦Web内核和框架技术,拓展生态,持续构建产品竞争力,岗位职责包括但不限于:1、深刻理解Web技术全景与发展趋势(含相关核心算法),例行洞察学术界、产业界、公司产品OS Web相关产业问题、技术诉求,识别高价值场景和差异技术创新突破机会;2、负责Web内核与前端领域(包括:Web渲染、JS引擎、Web图形和媒体、WebAssembly、WebGPU、Web前端框架、web安全等)的关键技术探索、性能优化、新特性开发与创新,构建鸿蒙下一代web内核。3、参与Web技术标准制定、认证和生态拓展,构建业界影响力;参与与学术界、产业界的连接以及技术合作。岗位要求:熟练使用C/C++/Rust/JS等语言,了解Web相关理论,计算机系统架构,计算机图形学。满足以下条件者优先:1. 计算机、操作系统、人工智能相关专业,有结合算法进行复杂系统开发的经验者优先;2. 熟悉Chromium/WebKit/Servo/Gecko软件架构,在Web渲染、JS引擎以及在GPU渲染、并发架构、UI布局方面有过课题经验或有相关开源项目者优先;3. 熟悉React,Vue,Angular,NodeJS等Web前、后端相关技术,有相关经验者优先;熟悉计算机网站安全相关知识优先。岗位投递链接:https://career.huawei.com/reccampportal/portal5/campus-recruitment-detail.html?jobId=4700&dataSource=1&jobType=0==========================================了解详情私我
投递华为等公司10个岗位 华为
点赞 评论 收藏
转发
60 446 评论
分享
牛客网
牛客企业服务