近期很多童鞋在准备校招了,找了蚂蚁的一位童鞋,给大家分享一波面试经验,以及面试心得,希望能帮大家在秋招拿到一个好结果
我自己的22届春招
实习算是告一段落,给自己做个总结,也给大家分享一下面试的一些心得。
一、首先介绍一下自己的情况
- 上海某211渣硕
- 2022年毕业
- 电子信息专硕(
两年制
),今年研一 - java后端开发(
半路出家
)
暑期大厂offer:
-
阿里巴巴
—蚂蚁金服—支付宝技术部—java -
腾讯
—PCG—看点搜索中心—c++ -
字节跳动
—电商业务->转到西瓜视频—go -
美团
—美团平台—服务体验部—java -
携程
—国际化旅游业务—java
...
最终选择了去阿里,有以下几个原因:
- 超级大厂,
java体系成熟
,技术沉淀深 - 实习不想花太多的时间花在转语言上,继续升华
java
- 阿里转正留用机会大,
秋招
竞争力大 - 在
上海
读书,想在上海实习,感受一下坐拥外滩的场景
二、学习经验
首先我总结了一下java面试可能会从哪些方面考察,针对每一块,我不会涉及到一些具体的技术原理,而是去分享一下我自己对他们的看法,也只代表我个人的理解和看法,欢迎各位大佬共鸣或者给我建议!
我会从以下几个方面去分享,每一个小类都会有对应的面试题目汇总,可以在牛客
网、github
等自己搜索,也可以和我私信!给你分享我的资料!之后也想专门抽空出一期我学习的资料!这里面就不做介绍了!
- 计算机基础:计算机网络、操作系统、数据结构与算法、数据库
- java:语言基础、集合源码、多线程、JVM
- 框架类:开发框架、中间件
- 分布式类:分布式组件、分布式思想
项目
2.1、计算机基础
首先,我自己本科是电气工程专业,所以没有学过计算机网络、操作系统和数据库这类的专业课,应该也和大部分同学一样。但是计算机基础,是每个大厂必问的问题,绝对不能忽视。
计算机网络、操作系统
强烈建议:
- 面试之前通过面经学习,面经上都是比较重要的知识点,这部分没有太多的实战技巧,多记多背,还有一点大家容易忽略的一点,要多说!把你知道的知识点用嘴巴说出来,很多同学脑子里有货,说不出来,组织不了语言,也是很致命的一点!
- 在面试的途中,遇到不会的问题即时记录,学习并且消化!你的能力不是说现在70分,面完10家公司还是70分,在不断面试的过程中,反复积累反复消化!就像西天取经越来越厉害。
数据结构和算法
强烈建议:
- 刷LeetCode,这个对于找工作来说,太重要了,这里直接讲我刷leetcode的方法,我大概刷了320多道题,一共刷过3个来回。
- 入门:我最开始刷遇到的问题和大家一样,在不了解算法和数据结构的情况下,很难想出这一题的思路,那么很简单,利用答案学习,拿到题目就看答案,对着答案写代码。
- 初级:当我看了一定数量的题目的时候(大概前100题),基本的算法,数据结构都有所了解,接下来就遇到一个问题,那就是拿到题,知道大概的思路,写不出对应的代码,我的建议是,自己先写,不管是api忘记了还是怎么样,先把你想到的东西都写出来,然后看答案,再自己改自己的代码。
- 中级:当你刷的题数上来的时候(大概200题),你已经大概有点算法感觉了,现在你要做的就是回头看,不用去写新的代码,因为信心很重要,再去刷前面的代码,这时候要多写多练。不用看别人刷了多少题,你把一个题刷透彻才有实质性的提高,找工作够用了。
- 高级-地狱:等待各路大神补充
- 笔试:笔试的时候是ACM模式,详情可以参考牛客网,一定要提前去准备(会写输出输出、导包,自定义数据结构)
数据库(深入)
数据库我觉得一定是一个作为我们应届生面试值得深入的地方
除了传统的CRUD之外,我们需要了解一些数据库的底层知识(mysql)
- InnoDB存储引擎架构设计
- 数据库内存区域、磁盘区域:redo log、undo log、buffer pool、
- MVCC、隔离级别、事务控制
- 索引(底层)
- explain执行计划
- ...
这个一定是你能够和面试官自信的侃侃而谈的一个重要的点。
2.2、Java
语言基础、集合源码、多线程
这三个部分,大家在学习java的这条路线上面都有过学习,我给大家的建议就是,看面经,因为这个考来考去也就是那么多,万变不离其宗。
这里着重说一下,集合类比如说HashMap等一定要自己看源码,自己看源码,网上博客很多,结合博客看源码,印象会更深刻。
JVM(深入)
jvm和mysql应该是我本人作为面试的时候最能谈的两块,也推荐大家去深入了解哈哈哈~也可以私信和我交流
jvm是java大厂都必问的知识点,包括一些其他非java厂也都会看你的知识掌握是否牢固(腾讯、字节都问过我jvm相关问题)
JVM的话无非就是以下几个点,内容不算很多:
- JVM基本工作原理(GC、GC原理、内存区域、核心参数等)
- 各种垃圾回收器和对应的垃圾回收算法
- JVM内存分配思想(不一定有实际生产经验,一定要有想过)
- OOM内存溢出问题分析(不一定有实际生产经验,一定要有想过)
- ...
2.3 框架类
开发框架
需要掌握:ssm
、springboot
、Mybatis
等
开发框架其实在面试中被问的并不是很多,因为大厂里面基本上都是自己的自研框架,基本上被问到也就是面经上常见那些问题,问题很少。比较容易准备。
中间件
面试中间件的时候,据我了解,可能你简历上面没有写相关的东西,问的不是很多,但是只要你能够深入了解某一个中间件,它的设计思路、架构原理等等,一定是一个加分项。楼主学习中间件的路线大概如下:
- redis:基本使用实战、分布式环境、集群
- dubbo、zookeeper:深入一个rpc框架也是不错的加分项,学有余力的:可以学习netty手写一个简易版dubbo,也是你面试的一个谈资
- mq:rocketMQ、kafka、rabbitMQ,了解性能优势,可以选一个深入~
- netty:网络编程加分项,也能够促进你对计算机网络的理解,可以自己搭建rpc框架
2.4 分布式类
微服务和分布式流行,大厂都会使用到,咱们也有必要去了解学习,面试中或多或少会问到,我把他分为两类,一个是分布式思想,一个是分布式组件
分布式思想
由于我们大部分没有分布式高并发等实战经验,所以能够学习这方面的思想,是很重要的一点,大部分面试官不会在这一点去为难我们,这个可以去找好的博文去进行学习和阅读!
分布式组件
我学习的分布式组件主要有:SpringCloud、SpringCloudAlibaba
建议大家可以利用这个去自己搭一个简单的服务提供与消费的网关,加上一些熔断限流等功能。学习如何使用~
2.5 项目
很多同学在为没有项目而苦恼,你也知道可以通过在b站上找一些优质的项目教程,跟着完整的做一遍。但是你要足够熟悉!
接下来我还给大家分享一个小经验,仔细想想我们项目是为了什么,就是为了面试能说,能够展示我们会什么就行了呀,所以我觉得大家不一定可以做一个完整的项目,可以找某一个模块去深入。这里给大家推荐几个小模块,针对某个模块去深入了解,在这一个模块跟面试官讲半个小时他不香吗?
- 认证授权
- 微服务网关
- redis分布式锁
- ...
相信你也能够有不错的收益!
三、面试经验
首先我给大家介绍一下据我了解各大厂的笔试、面试平台以及一些面试流程~
3.1 大厂面试流程
阿里(3+1)
流程:内推直接进部门、投进池子等捞、面试流程会到每一个具体面试官那边,面试官和你沟通面试时间(我因为面试官休假流程卡了15天!!!)
笔试:牛客网笔试(ACM模式)、阿里自研平台(记事本形式)
阿里应该比较注重笔试、一定努力不要得0分,不然会加试
面试:面试官开心就好,电话面试,视频面试面试官自己选,电话面居多,重视hr面
腾讯(2~3+1)
流程:内推基本上用处不大,投具体的事业群,否则进池子里等捞,挂了继续会池子里等捞
笔试:实习生好像不用笔试(虽然会发笔试连接,但是我没做,一样oc)
面试:腾讯自研平台、腾讯会议
字节(3+1)
流程:内推或者官网投递,会有面试记录,好像审批会看以前面试记录
笔试:牛客网笔试
面试:牛客网面试(每一次面试都要撕算法)
美团(2+1)
流程:内推进部门或者进池子等捞
笔试:牛客网笔试
面试:牛客网面试
其他大厂公司我没有面试经验!~...欢迎各位补充和纠正。
3.2 面试过程
技术面
-
请自我介绍
自我介绍环节言简意赅,表现的大方得体,哪怕面试官给你摆个臭脸,你也要笑着对他(如果你想拿offer的话)
-
项目轰炸
项目轰炸的话,一般是针对你会的东西去问你,简历上或者自我介绍的东西去进行询问,多准备一点自己遇到的问题,以及怎么解决的,然后学习到了哪些经验什么的。
-
面经八股文轰炸(可深入)
其实我们准备面试,更多的时间也就花在这里了,这是考察你的专业技能的时候,努力不会白费。
-
反问
在这里我不说太多怎么去反问的话题,我给大家分享一个我反问一个问题给阿里面试官,他回答的一段话:
我问的是:您好请问我可以提前去学习,准备些什么技能呢~?
面试官回答:我们不看中你是不是会特别多的东西,我们校招过来更重要看中你的学习能力,如果我们要招一个什么都会的人,我们直接社招就行了。(虽然真假参半,但是有一定的道理)
3.3 信心
一定要多面试,面得多成长也快
个人觉得有一个这样的定律:
你的能力决定的不是面试成功的是与否,而是面试的成功率,能力越高,成功率越大,能力相对较低,只是成功率低,并不是没有机会,面试也看眼缘和你整个人的气质,相信自己。
多面试,不要放弃。
在关键点下力,关键技能,关键时机,在关键的时机对关键技能下力,取得意想不到的效果!
希望秋招能够再接再厉!拿到自己满意的结果!
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,我后面会每周都更新几篇高质量的大厂面试和常用技术栈相关的文章。感谢大伙能看到这里,如果这个文章写得还不错, 求三连!!! 创作不易,感谢各位的支持和认可,我们下篇文章见!
我是九灵
, 关注公众号:Java 补习课
,掌握第一手资料! 回复 加群 交流。