985毕业,面试阿里、字节、腾讯大厂拿offer,最终上岸蚂蚁

前言

背景

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

春招虽然惨淡了一点,但是对于有能力的人来说还是能找到工作的,这不,我现在已经上岸蚂蚁了,虽然如此,但是目前来说需要学习的知识还有很多,现在在跟着马老师和左神在学习提升自己的技术

面试情况

阿里 JAVA研发

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

字节 后端开发

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

腾讯+微软

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

美团

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

阿里云

阿里云 团队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 42 4 67 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

1.自我介绍

2.介绍一下IAM ---深入聊了并且交互了想法-怎么做的

3.读写分离--如何实现 工程上和mysql

4.线程池执行原理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.你在代码中是怎么加锁的?synchronized5.synchronized是怎么实现加锁的?

6.如果你的服务分配在两个不同的机器上,synchronized还有用吗?--》synchronized基于JVM-没用

7.第6问如何实现---》分布式锁--》不知道(消息队列 zookeeper)--分布式数据库加锁--》如何保持事务一致性

8.一个SQL慢查询,你是怎么优化的?(结合实践回答)

9.乐观锁和悲观锁,介绍以及原理机制 以及应用

10.智力题:

3L和5L的桶 倒出来4L的水

一天24H 分针和时针会重合几次

一天24H 分针 时针 秒针 会重合几次

反馈:第二面主要考察潜力:包括思考能力和基础

阿里云 团队B 三面 2020.3.14号 下午4点 47min

1.自我介绍

2.mongoDB 为什么使用做这个项目(这个要解释清楚也要体现你的技术感还是比较难的)

3.调研的时候 各家云产品都有什么区别

4.ak sk是如何存储—>sk如何加密—>加密算法研究—>对称加密 非对称加密了解吗 可以深入了解一下

5.你对于未来有什么规划吗

6.你觉得你比你们同届的同学有什么优点?(p9面,给了很多学习上的建议,更多的是交流,比较注重的不是基础而是你的思路,你的表达,你的解决问题的过程以及收获)

蚂蚁金服

蚂蚁金服 一面 3.14 10:00 46min

1.自我介绍

2.说说mysql 分钟数据是怎么处理的 ---整个流程

3.mysql的索引 (与MongoDB索引对比讲)存储结构 最左索引原则

4.spring了解吗?bean包的启动 IOC AOP5.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 AIO11.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 mvcc5.实习的时候收获---技术 生活

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.我想了解的差不多了,你还有什么想跟我说的吗? 说了十几分钟自己面试的感受以及对阿里的向往

字节跳动

字节 教育部门 一面 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.代码:实现一个多态

17.代码:无序字符串 查找第一个重复字符的index,分析复杂度。

字节 教育业务 三面 2020.3.29 15:00 36min

1.自我介绍

2.restful是什么--描述一下

3.https加密:对称加密和非对称加密 https加密的流程

4.IO模型 select和epoll的区别 epoll是轮询的吗

5.TCP 流量控制 拥塞控制 为什么要慢启动

6.算法:判断一个链表是否有环(这个面试体验非常差,有种被嘲笑的感觉,不想多说,后面才知道字节的面试官很容易踩到雷,面试还是要看缘分的)

总结

1.对于面试官问:你还有什么要问我的吗?(一般问自己有哪些需要查漏补缺的点,或者如果对业务感兴趣,或者你有什么值得提问的点,可以深入讨论)

2.靠谱内推人:对于你特别想去的那家公司,一定要找你想进的那个团队的工作人员,然后要负责,能跟你一起跟进进度的,这次蚂蚁就是有一个非常靠谱的内推人,从一开始争取我确认蚂蚁的内推之后,到最后收到意向书,都是非常靠谱的,而且一直鼓励我。

3.心态问题:不管是面试失败还是身边的人都拿到了满意的offer,都是肯定会焦虑的,这个其实我个人都没做到心态如何摆放正确,好在身边还有很多可以听我倾述的人并且一直在给鼓励我的同学和家人。如何选择发泄方式和自己调节心态是最重要的。但是还是建议,失败了不要一直纠结,寻找机会和把握机会,复盘自己的问题这些才是最重要的。

4.简历投递:一定要明确自己的目标以及方向,海投可以,但是不要过分纠结得失吧。比如我是找的java方向,但是很多大厂都不是java的,导致面试都挂的很快,给自己带来很多焦虑和不自信的感觉。

最后

疫情给大家带来了或多或少的影响,春招不管实习还是正式工作大部分人都不顺利。还是要目标清晰,努力提高自己,寻找机会,把握机会。

这里给大家整理了一下我面试前复习的资料已经现在正在学习的,感兴趣的朋友可以帮忙转发文章后,关注私信回复【学习】来免费获取

面试资料

文档资料

全部评论

相关推荐

点赞 评论 收藏
分享
一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
评论
1
2
分享
牛客网
牛客企业服务