java开发面经总结-春招实习

背景

个人211本985硕,皆科班,271 java实习半年背景。

准备春招实习过程从牛客上获得很多知识,现在已经上岸蚂蚁。写一篇自己实习春招面经回馈牛客。感谢所有帮助过我的同学。

面经

0.面试情况

阿里 JAVA研发

提前批 阿里云团队A 二面过(p8面) 阿里云团队B 三面过(p9面) 蚂蚁团队C 三面过(p8面)钉钉 一面过
系统开放之后确定内推到蚂蚁团队C。笔试0ac,补了一次笔试 测评不清楚,4.19拿到蚂蚁意向书。

字节 后端开发

教育业务暑期实习 三面挂
后投了EA的java开发日常实习 二面挂
继续投产品基础架构后端开发日常实习 一面挂(对算法要求高,上来就两个算法题,没有及时做出来)
顺延到创新业务的暑期实习 后端开发 笔试310/400 直接笔试挂(应该前面面评不好+hc比较少+笔试简单,普遍高分)

腾讯+微软

腾讯捞了两次 技术栈不合适 第一次是php 第二次c++的 都是一面挂
微软 技术栈不合适 二面挂

美团

笔试接近0.5ac 笔试太差 面试一面的时候感觉表现还行,面试官反馈也还好。综合一面还是挂了。

1.阿里云+钉钉

阿里云 团队A 一面 2020.2.28 晚上 8点 1h30min
1.说说你做的项目里你最满意的部分(细化提问 我提到了设计模式)
2.说说你会哪些数据库(mysql和mongoDB的对比介绍了存储引擎等等)
3.写一个单例模式(从饿汉到加锁的一个分析)
4.写一个SQL:打印某一列的重复值
select cloums from tableA group by cloums having count(cloums)>1;
5.一个二维整形数组,每行递增,每列递增,给定K值,求K是否在数组内存在
1 3 4
2 4 6
7 8 9
(对于这个题目 出的很简单,但是问的题目很深 几乎每一步都需要提示,但是注意提示之后 一定要跟着他的思路 说说自己的理解。主要考察的是对于业务的理解:1.对于边界值的考虑理解 2.对于异常输入你是怎么解决 3.对需求第一步你是怎么做的 4.如果高并发情况下你这个函数怎么处理 )

2020.3.11 晚上 阿里云 团队A 二面
1.简单介绍一个三个项目
2.这两个项目的收获是什么?(这个回答一定要好好斟酌,不要浪费展示自己的计划)
3.mysql和mongoDB 的区别
4.mysql中InnoDB的应用场景 myisam的应用场景,对比
5.实习的这个项目你具体做了什么?
6.实习的这个项目最难的点是什么?
(每一个问题都很致命,回答的好可以加分,回答不好直接挂。就是这个面试给我带来很多体会,怎么回答好,怎么能够好好的表现自己的优势,理清楚自己的定位。)


阿里云 团队B 杭州 面试时间 2020.3.8号 1h37min
0.自我介绍
1.介绍一下IAM ---深入聊了并且交互了想法-怎么做的
2.读写分离--如何实现 工程上和mysql
3.线程池执行原理
4.高并发--(不会)
5.redis--(不会)
6.mysql的底层执行--select或者update
7.AOP---(结合项目中的应用场景解释了一下)
8.操作系统:进程之间的通信---套接字的理解(不太熟悉)
9.arraylist和vector对比 线程安全 synchronized如何加锁
10.tcp三次握手和四次挥手
11.hashmap currentHashmap
12.rpc远程调用
13-跨域--怎么解决
13.算法题:
//评测题目: 无
题目一:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:

输入: "race a car"
输出: false

题目二:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。
你的算法时间复杂度必须是 O(log n) 级别。
如果数组中不存在目标值,返回 [-1, -1]。

示例 1:
输入: nums = [5,7,7,8,8,10], target = 8
输出: [3,4]

示例 2:
输入: nums = [5,7,7,8,8,10], target = 6
输出: [-1,-1]

题目三:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。
示例 1:
输入: [3,2,1,5,6,4] 和 k = 2
输出: 5

示例 2:
输入: [3,2,3,1,2,4,5,5,6] 和 k = 4
输出: 4

说明:
你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。

(有点像扫盲贴 项目+基础+实习都有问到,但问的不太深)
阿里云 团队B 二面 2020.3.10 55min
1.自我介绍
2.时空对齐算法怎么实现的---》更多的是平台上的
3.讲讲IAM你是怎么是实现的?你最有挑战性的一件事是什么?--设计模式 提高代码复用性
4.你在代码中是怎么加锁的?synchronized
5.synchronized是怎么实现加锁的?
6.如果你的服务分配在两个不同的机器上,synchronized还有用吗?--》synchronized基于JVM-没用
7.第6问如何实现---》分布式锁--》不知道(消息队列 zookeeper)--分布式数据库加锁--》如何保持事务一致性
8.一个SQL慢查询,你是怎么优化的?(结合实践回答)
9.乐观锁和悲观锁,介绍以及原理机制 以及应用
10.智力题:

  1. 3L和5L的桶 倒出来4L的水
  2. 一天24H 分针和时针会重合几次
  3. 一天24H 分针 时针 秒针 会重合几次
  4. 反馈:第二面主要考察潜力:包括思考能力和基础

阿里云 团队B 三面 2020.3.14号 下午4点 47min
1.自我介绍
2.mongoDB 为什么使用做这个项目(这个要解释清楚也要体现你的技术感还是比较难的)
3.调研的时候 各家云产品都有什么区别
4.ak sk是如何存储--》sk如何加密---》加密算法研究--》对称加密 非对称加密了解吗 可以深入了解一下
5.你对于未来有什么规划吗
6.你觉得你比你们同届的同学有什么优点?
(p9面,给了很多学习上的建议,更多的是交流,比较注重的不是基础而是你的思路,你的表达,你的解决问题的过程以及收获)


钉钉 一面 2020.3.13 上午11点 1h
1.自我介绍--简单介绍了一个实习和三个项目
2.mysql优化查询效率---如何优化
3.mysql你是怎么加索引 ,数据库的事务 几个特性讲一下,怎么实现的 mysql默认的隔离级别是?
4.spring的机制了解吗? 说了AOP 说明了我使用过的;常用的注解说5个?@Autowrite和@Resource的区别
5.hashmap:putval的时候,如果对象已经存在,这个hashmap的底层是如何处理的?
6.jvm:垃圾收集机制和垃圾对象判断 实践过如何实践 jvisualVM
7.java内存模型:讲一讲你理解的java内存模型
8.为什么重写equals方法要重写hashcode方法
9.层序遍历--》说说你的思路就好--用队列
10.给链表排序算法题--写代码

2.蚂蚁

蚂蚁金服 一面 3.14 10:00 46min
1.自我介绍
2.说说mysql 分钟数据是怎么处理的 ---整个流程
3.mysql的索引 (与MongoDB索引对比讲)存储结构 最左索引原则
4.spring了解吗?bean包的启动 IOC AOP
5.mysql怎么实现读写分离
6.mysql哪些日志 redolog undolog 事务ACID 如何实现
7.mongoDB ACID如何实现
8.redis了解吗
9.jvm了解吗 说说
10.并发:锁 synchronized 可重入锁
11.mongoDB的聚合函数 时空对齐算法研究
蚂蚁金服 二面 2020.3.16 下午5:30 57min
1.自我介绍
2.quartz --讲一下:说了实现原理原理+设计模式
3.spring了解吗---说了aop 自己的实践
4.mongoDB
5.适配器模式和策略模式的区别
6.垃圾收集器知道哪些? PS CMS G1对比 简单说明一下
7.并发:线程池的原理了解吗?你一般怎么设计核心线程和等待队列?建议书籍:java性能权威指南
8.代码规范体现在哪里?--说了自己实践的总结
9.平常看哪些书?推荐 java并发编程
蚂蚁金服 三面 2020.3.17 晚上9:30 54min
1.自我介绍
2.核心中台--》交互的有 保险 第二部分是 技术能力成长 第三部分是培养文化
3.iam中比如aksk管理是如何落地的?
4.mysql---分钟数据
5.实习的这个模块中 领域模型如何设计
6.数据库 mybatis和jpa 以及jdbc
7.线程池的实现原理
8.5种IO模型 多线程 阻塞队列 多态
9.concurrenthashmap hashtable 和hashmap的区别
10.NIO AIO
11.dubbo等等一些开源框架的学习使用
蚂蚁金服 四面 2020.4.5 上午11点 36min
1.没有自我介绍
2.问了科研---专利 论文 研究方向
3.主要考核:之前的面试可能更多考核工程性质 这边其实可以不用考了。主要从科研看出你的学习能力 解决问题的能力 解决问题的空间方法,思考技术的独特 优势 学习--》吸收 有没有创新点 独特的解决问题方式---》(学习方法 --怎么看待解决问题的核心技术--这个核心技术 有没有什么壁垒)
蚂蚁金服 五面 交叉面 2020.4.10 下午2点 47min
1.自我介绍--简单
2.说说两个项目为什么分别使用mysql和mongoDB---对比不同 (范围查询 表结构稳定)
3.mysql缓存---说了 一个select语句的查询 以及缺点;项目中为什么使用redis?
4.MongoDB如何实现事务--redo log undolog mvcc
5.实习的时候收获---技术 生活
6.你老大对你的评价 以及建议
7.你个人的发展规划
8.个人觉得自己技术上的缺陷
9.平常是怎么学习的? 科研和技术
蚂蚁金服 金融核心团队 hrg面 2020.4.14 12点 37min
1.自我介绍(科研+实习+项目+个人兴趣爱好介绍)
2.测评和笔试 笔试是0分什么情况 测评成绩是怎么考的
3.家 本科 研究生 为什么想留在上海(离家人近)
4.hrg 考核两个点 是否胜任和 意愿度
5.说说你是哪里知道这个招聘的(和个人规划 契合 有缘)
6.假如现在有字节 有华为 pdd之类的工资更高 你是怎么考虑的;有可能你说的是为了面试,不确定你是不是真的想要进入这个公司(表述,工资不是求职的第一,平台和行业的发展才是最重要的)
7.个人规划---实习时间和职业规划
8.学校的角色:各方面(实验室,老师)说一下,扩展说了实习过程中mentor眼中的自己;爱奇艺的实习是自己主动找的吗?回:说了当时我是怎么规划的以及主动找了实习
9.说了自己:靠谱 乐观 乐于分享。问 你想要跟什么样的同事合作:靠谱 之前被坑过
10.说话很快,是不是性子比较急? 回:紧张,在意这个机会 想要把握住;
11.有男朋友吗 能接受加班吗
12.我想了解的差不多了,你还有什么想跟我说的吗? 说了十几分钟自己面试的感受以及对阿里的向往

3.字节

字节 教育部门 一面 2020.3.15 下午6:00 30min
1.自我介绍
2.实习中你最难的一个部分 讲一讲 你是怎么解决的
3.java相关的:知道哪些集合 ArrayList和map 讲一下ArrayList(底层结构,插入java源码是怎么解决 删除元素java是怎么解决的) vector(线程安全)
4.hashmap和hashtable哪个是线程安全的?(简单讲讲)
5.map里面有哪些是线程安全的?(concurrenthashmap---怎么实现线程安全)
6.你平常用哪些数据库?mysql和mongodb 擅长哪个 mysql--》讲讲主键索引和普通索引区别(回表
7.一般mysql你是怎么使用索引的?
8.四大隔离级别--》mysql默认哪个?mysql怎么解决幻读?加锁 怎么加锁
9.tcp的三次握手
10.有什么问题问的:教育部门主要做什么?--中台,涉及合同 不方便说。
11.评价:总体是不错的,代码能力还是有的。java基础有些知识还需要再看看。数据库的知识已经够工作用,不过还是可以再深入理解一下。
12.算法:求二叉树任意两个结点的公共祖先
字节 教育业务 二面 2020.3.24 15:00 54min
1.自我介绍
2.你做的几个项目技术栈是哪些
3.说说你对MVC的理解
4.你对代码逻辑上的优化有过哪些工作?(适配器模式 模板方法 SQL IO)
5.IOC 和 AOP 使用过吗?讲一下
6.浏览器输入url的过程
7.http无状态的 后端接收如何处理
8.200 300 400 500分别代表什么
9.cookie和session,后端session一般放在哪?文件 数据库,如果文件的话,如何处理分布式服务的session获取?
10.SQL语句一般怎么解析的?explain--
11.ABC联合索引 SQL select * from table where c=? b=? and a=?会走索引吗?最左匹配原则分析一下
12.list和set map分别讲一下 hashmap的扩容怎么扩
13.hashmap的get和put concurrenthashmap和hashtable的区别
14.数据库ACID
15.说一下java三大特性
16.代码:实现一个多态
16.代码:无序字符串 查找第一个重复字符的index,分析复杂度。
字节 教育业务 三面 2020.3.29 15:00 36min
1.自我介绍
2.restful是什么--描述一下
3.https加密:对称加密和非对称加密 https加密的流程
4.IO模型 select和epoll的区别 epoll是轮询的吗
5.TCP 流量控制 拥塞控制 为什么要慢启动
6.算法:判断一个链表是否有环
(这个面试体验非常差,有种被嘲笑的感觉,不想多说,后面才知道字节的面试官很容易踩到雷,面试还是要看缘分的)


字节 企业应用 EA 二面 2020.4.1 15:00 1h
1.简单的自我介绍
2.说说实习的内容
3.做题:1.双指针实现找到数组中两个和为target的下标 2.找到数组中最长前缀
4.项目 IAM和RBAC的区别----权限部分 如果是现在 你觉得他还有什么问题 你可以改进的吗
5.怎么实现权限 RBAC用过吗 ABAC role 和attribute
6.设计模式 适配器模式 和 模板方法模式 装饰者模式
7.你怎么看待设计模式
8.数据库:事务 索引和主键的区别(索引可以为null) 建索引的考虑的点 索引失效的点 回表 基数和选择性 主键是必须要有的吗?
9.spring 循环引用---
10.垃圾收集器 CMS 什么对象会被放入老年代 fullGC 怎么排查 你用过什么调优的参数吗


字节 产品基础架构 一面 2020.4.8 17:00 40min
1.自我介绍
2.问了一下实习做了啥
3.做题:1.三个有序数组排序 2.字符串的最长不重复子串
(还需要多多刷题。。。算法基础太差了)

4.腾讯

腾讯 运营开发 一面 36min 2020.3.17 晚上19:00
1.自我介绍
2.分表的条件?根据需求?字段?
3.场景:现在如果有100张表 存储的数据(id score),要查找里面的top100 score怎么查 MapReduce
4.mysql一般怎么查看有没有走索引
5.说说你的分钟数据如何查询
6.说说redis的应用场景和5种数据类型 redis怎么实现高并发
7.场景:现在有200个统计错误码,如果有数据进来,你要怎么去查看这个数据有没有包含错误码
8.IAM模块 你是怎么做的?主要包括哪些业务?项目中的难点是什么?你们平台有没有包括哪些运营相关的业务?
9.你觉得你的优点是什么?缺点是什么?
10.你对于女生做程序员 的职业发展 有什么看法吗?
11.为什么不留在爱奇艺?腾讯小哥哥表示腾讯也不一定能转正的。
12.反问:业务相关:运营系统开发,属于游戏事业群:主要开发营销系统,数据系统;
技术栈是php和go 主要想要能对整个基础知识了解,对系统流程了解。以及语言能了解当然最好。


腾讯QQ 后端开发 一面 34min 2020.3.31 18:30
1.接口和抽象类的区别 成本呢
2.线程通信的方式
3.wait和sleep的区别
4.进程之间的通信方式
5.Linux里如何查看哪些进程CPU高 Top命令
6.浏览器中http和https的区别 (加密和CA)
7.字节序(大端和小端)
8.快排:时间复杂度 nlogn
9.时空对齐算法
2020.4.1号 晚上做题---简单的
面试官不会java,技术栈是c++的,所以更多的是从面经里挑了几个java基础题目和基础知识--面试兴趣不高。

5.微软

微软 上海 cloud+AI 一面 1h 2020.3.17 15:00
1.英文自我介绍
2.适配器模式 --讲讲你是怎么做的
3.两种不同的适配器
4.数据结构:hash表 二叉树 链表 查找的时间复杂度分别为?数据量很大的情况下时间复杂度为?
5.算法:两个栈实现一个队列--时间复杂度调优 旋转数组查询某个target
6.反馈:思维活跃,有些代码调试需要自己再测试一下
微软 上海 cloud+AI 二面 45min 2020.3.17 16:00
1.自我介绍
2.说说redis和mysql
3.说说mysql的index 聚集索引和非聚集索引 范围查询你是怎么设置的
4.java和python的区别 java和python是如何编译的?
5.MongoDB说一下
6.做题:Good Man 转化成 Gand Moo
7.反馈:无
8.感受:这一轮面试官 在我做题的时候 刷微博 。。。。说话声音小。题目的编辑器垃圾。体验差。。。

6.美团

美团 到店事业群 2020.3.16 一面 53min
0.自我介绍
1.tcp udp的区别
2.500 400 200分别说一说
3.hashmap和hashtable的区别?线程安全和不安全 hashtable如何实现线程安全? concurrenthashmap
4.ThreadLLocal了解吗? 线程池的实现原理
5.gc相关:垃圾回收算法 新生代老年代如何分配?
6.cookie和session的区别
7.数据库myisam和InnoDB的区别
8.乐观锁和悲观锁的区别
9.mysql分表机制了解吗 什么数量级的需要分表 什么数量级需要分库
10.mongoDB 分布式集群部署有过经验吗?单机部署如果挂了怎么办?--备份??如何备份?
11.跨域的问题讲一下
反馈:回答的还不错,优点是 项目做过的都挺了解,基础回答的也还可以,但是线程,gc cookie session mongoDB的集群 以及分库分表都了解的不是很深入,可以再去了解一下。
12.算法:剑指offer的螺旋矩阵--限时20min

总结

1.对于面试官问:你还有什么要问我的吗?(一般问自己有哪些需要查漏补缺的点,或者如果对业务感兴趣,或者你有什么值得提问的点,可以深入讨论)
2.靠谱内推人:对于你特别想去的那家公司,一定要找你想进的那个团队的工作人员,然后要负责,能跟你一起跟进进度的,这次蚂蚁就是有一个非常靠谱的内推人,从一开始争取我确认蚂蚁的内推之后,到最后收到意向书,都是非常靠谱的,而且一直鼓励我。
3.心态问题:不管是面试失败还是身边的人都拿到了满意的offer,都是肯定会焦虑的,这个其实我个人都没做到心态如何摆放正确,好在身边还有很多可以听我倾述的人并且一直在给鼓励我的同学和家人。如何选择发泄方式和自己调节心态是最重要的。但是还是建议,失败了不要一直纠结,寻找机会和把握机会,复盘自己的问题这些才是最重要的。
4.简历投递:一定要明确自己的目标以及方向,海投可以,但是不要过分纠结得失吧。比如我是找的java方向,但是很多大厂都不是java的,导致面试都挂的很快,给自己带来很多焦虑和不自信的感觉。
5.最后:疫情给大家带来了或多或少的影响,春招不管实习还是正式工作大部分人都不顺利。还是要目标清晰,努力提高自己,寻找机会,把握机会。

#2020春招实习面经总结##实习##面经##Java工程师##阿里巴巴##字节跳动##腾讯##美团#
全部评论
搜IAM关键字找到了楼主==   请教楼主,为啥问了你这么多IAM的问题啊~
1 回复
分享
发布于 2020-05-24 16:03
有没有学弟学妹,可以帮忙内推到阿里。有需求请帮忙推荐,联系邮箱ws234664@alibaba-inc.com
点赞 回复
分享
发布于 2020-04-20 22:19
百信银行
校招火热招聘中
官网直投
微软为啥技术栈不合适就挂呢,可以进去学的,是楼主主动挂掉了微软吗
点赞 回复
分享
发布于 2020-04-20 22:35
请教楼主:场景——现在有200个统计错误码,如果有数据进来,你要怎么去查看这个数据有没有包含错误码,应该怎么解答哇?感谢!!
点赞 回复
分享
发布于 2020-05-15 03:39

相关推荐

3.22 腾讯云测试岗位线下一面因为之前挂了,简历重新放池子里面,加上刚好鹅厂到我们学校有线下宣讲会,于是20号早上就又发了线下面试邀请,这也是我第一次线下面试。面试之前还和面试官聊了一下。1.自我介绍   (面试官在我自我介绍完之后教我说下次结束了可以加个结束语比较好)2.gc机制(这个我不知道考什么,就讲了下gc的优点和gc的一些算法,比如复制法,分代收集法)3.jvm相关结构(这个我有点紧张,答的是内存区域划分,类加载器,运行时数据区域和详细结构,以及本地库接口,执行引擎等等)4.Java的特点,(继承,多态,封装) 然后举例说明(当时脑子烧了,没答好)5.面向对象的设计思想了解吗,可以展开详细说说,举例(这个也是感觉答的很烂,我是从面向过程对比来讲的,然后举例说对象和类是抽象出来的,类实例化为对象,就像人类实例成男人,女人,老人)6.数据库聚簇索引和非聚簇索引(答的一般,是结合例子讲解的)7.看你使用了redis,雪崩,击穿,穿透了解吗8.对于你的项目,是怎样想的,是怎么实现的,要求抛开写代码过程,强调整个逻辑和设计原理,代码只是软件工程的一小部分(这个我不会,没学过软件设计导论,我就随便乱说,面试官就简略讲解了一下)9.对于你的项目,你觉得有什么改进的部分(我说提高程序健壮型,例如高并发等等,看面试官反应,应该不是想问这个)10.了解过全栈吗,就是广义全栈,需求,设计,实现,测试,上线(因为是测试岗,考了一些测试的理念,但我不会测试,也没了解过,寄)11.软件生命周期12.关于项目的一些结构,各个部件的设计原理,为什么这么做(我第一次听这种说法,面试官看我没明白,又解释了两边,我反应过来,就是框架)13.手撕简单题   ----删除有序数组中的重复项(线下面试太紧张了,没a出来,7分钟后让我讲解思路)有字数限制,其他反问放图片了****中途还问了一下对锁的概念,我略微讲了下锁的升级策略   PS:图片里说错了其实好像是CICD和DevOps,听见多识广的哥们说的****我是投的后端开发,测试把我捞起来了最后让我回去等下周通知。总的来说面试感受不错。希望以后能进鹅   许愿#如何判断面试是否凉了##暑期实习##我的失利项目复盘##测试##线下面试##腾讯#
点赞 评论 收藏
转发
20 137 评论
分享
牛客网
牛客企业服务