关于面试:2021年春招小tip分享java后端面试总结心得分享面经

30次阅读

共计 6124 个字符,预计需要花费 16 分钟才能阅读完成。

集体状况介绍

楼主北京某理工类大学本硕,家在包邮区 3 + 1 的 1,实验室摸鱼菜鸡,从大四开始一路应用 Java 语言到当初

2020 年时间表

  • 1- 2 月:放寒假回家高兴地游玩
  • 3 月:发现实验室的小伙伴都在筹备实习,开始焦虑中学习,缓缓的开始口试面试
  • 4 月:感激美团收容我给了我第一份实习 offer,拒掉了 OPPO 的 offer
  • 5 月:陆陆续续收到网易、华泰证券、趋势科技、邮储软开的实习 offer;月底实习入职美团
  • 6 月:在阿里的零碎里留下了第三个已拒绝流程,咱也是经验过 HR 面后挂掉的人了
  • 7 月:高兴实习,发工资的时候是最高兴的;同时秋招提前批开启,筹备面试
  • 8 月:美团转正问难后到职,全力筹备秋招;投递科研论文,月底收到录用告诉
  • 9 月:写完论文初稿,中期问难;陆续收到阿里、腾讯、猿辅导、美团的 offer,面了快手和网易
  • 10-11 月:签约猿辅导三方,线下报考地方某部委某涉密单位,全力筹备国考
  • 12 月:不要问!问就是室友、啤酒和烧烤!开始纠结秋招的抉择是否正确,想回家工作
  • 2021 年 1 月:炒了半个月的股亏了 1300,怒而退市;下定决心回家工作,开始投递简历和面试
  • 2022 年 2 月:哈哈哈还不晓得呢

找实习经验

先说一下我的简历吧,刚开始我的简历上就俩我的项目,其实都是刚进实验室的时候的 3 个月技术培训做的货色,一个是相似于微博的 web 零碎,一个是用 Java 原生 NIO 做的 IM 即时通讯零碎,当然了我起初用 Netty 又写了一遍。

刚找实习那会其实还算是很高兴的,面试官问的根底的问题我还是接的很晦涩的,特地是收到了美团的实习录用意向书当前,信念暴涨。

后果等到了 4 月底 5 月初就开始变噩梦了。首先是被阿里巴巴打击了,一开始投递的蚂蚁,催了无数次面了二面后拖了我半个月给我挂了,那会我没少跟敌人吐槽这件事。而后被某部门捞起来接着面,很顺利面到了 Hr 面后果等了半个月又给我挂了,我问 hr 为什么他说 hc 满了。起初部门 tl 加我微信,说我对分布式(降级、熔断等)的常识理解的不好,心愿我去别的公司实习下秋招再来面他们,而后开始 PUA 我。这 tmd 不是死循环吗?阿里说好的实习只问根底呢?我当然忍不下这口气,在牛客发帖吐槽了一下。接着就是间断的京东挂、360 挂、腾讯挂挂挂等等,还有好多连面试机会都没给。

起初想想算了,何必这么折腾本人呢,于是在 5 月底入职了美团。这里给大家安利下美团金服,新人造就做的是真的好。你一入职就会有一对一导师,制订具体的时间表通知你每周要干什么,要把握哪些中间件的应用。

实习的时候,我闲的没事就会去美团内网学城上扒拉货色,晓得本人分布式差就要多学一点,缓缓的开始理解、相熟分布式的一些常识。接的第一个需要也是偏架构的需要,波及两个零碎之间的信息交互。一开始真的是焦头烂额,乍看起来很简略,其实重难点是在高并发下的异步解耦、限流、高可用和保障数据一致性上。然而真的实现了需要当前,这反而成了我最强的一块。秋招面试的时候谈到实习经验,面试官着重问的也是这一块,真的感激这段经验。

秋招找工作

秋招我放弃了广撒网的策略,算起来七七八八的也就投了 10 家左右的公司,最初拿到了 5 家公司的不错的 offer,整体上真的比春招好太多了。

首先谈的还是阿里巴巴,我与阿里的不解之缘。一开始找了一个北邮的师兄内推,他在杭州工作,我就默认他给我推到杭州,就没有确认内推 base。天然是很顺利的到了 hr 面,面试的时候 hr 小姐姐也是杭州,问我抉择北京的部门还是杭州的部门,我拍案而起地说:我打死不留北京肯定要去杭州。后果刚面完 hr 面师兄就火急火燎的在微信找我,问我 hr 面怎么答的,这个时候才晓得师兄给我推的是北京的岗位。后果天然是毫无悬念地挂掉了,因为他们认为我不会接。起初被某部门捞起来,闲着无聊也去面了面,后果就发意向书了。然而部门和工作内容不太喜爱吧,加上 tl 打电话给我谈薪的时候态度不怎么好,始终感觉本人居高临下,始终在 PUA,所以我就罗唆麻溜给回绝了。

其次要说一下字节跳动,字节我始终认为流程块面试官好,后果我竟然也碰到了多数的奇葩。杭州抖音挂掉之后,我是心悦诚服的,因为的确技术上太菜被面试官吊打了哈哈哈,不愧是外围部门。起初被某部门捞起来,顺利到三面然而答得不太好,所以有一轮加面。加面面试官我感觉就不缺人,一开始就在不理解业务场景下始终在说:你感觉你们这样设计不 low 吗?行,您流批,一下子把整个团队做的零碎都否了。之后我说的用缓存做了避免新用户反复注册导致的薅羊毛问题,后果就始终在怼我你晓得什么叫薅羊毛吗?你晓得薅羊毛的定义吗?你这就叫薅羊毛的吗?我俩针对这个词什么意思敌对探讨了半个小时,后果是我先败了,被动放弃了面试。

最初是签了意外之喜的猿辅导,给我评级也很好,除了工资还是期权、签字费什么的。

之后被室友洗脑,去加入了某部委涉密单位的线下宣讲,线下报名了国考,去部委实地取准考证的时候有幸进了配楼,感叹不愧是部委的大楼就是派头。10-11 月致力学了俩月的行测和申论,依照屡次粉笔模考的后果看我认为我稳进面的,后果国考的时候申论爆炸,只考了 46 分,差两分进面,一度心态爆炸。起初尝试过江浙的人才引进和选调政策,然而都比拟晚了错过了很多,我又等不到 2021 年的 4.5 月,也就不了了之了。

最近也是下定决心要毁约猿辅导了吧,还是想回家工作。1 月在家加入了一个上海国企和杭州阿里的面试,应该是都过了在等着告诉,也有点犹豫要选哪个,目前暂定是始于阿里终于阿里了。

最初是干货工夫

面试材料:

  • 神器 cyc20* 佬的的 csnote,根本笼罩 Java 根底、数据库、分布式、算法大部分的内容
  • Github 上的 Advanced-java,当然了牛客也有转载,涵盖高并发、分布式、高可用、微服务等畛域常识
  • 最重要的还是源码!!!对于 Java 根底真的多看源码,比方 CAS 的上锁过程、AQS。我记得我在看泛型的时候,百度搜进去的货色很形象,而后我就跑去看了眼 ArrayList 的泛型源码,而后照葫芦画瓢本人也写了写。
  • 计算机网络应该都学过吧,我始终用的是我本科的第五版,高数书都卖了却留下了《计算机网络》哈哈。当然了有些货色是没有的,比方应用 RST 避免 TCP 洪泛攻打、http3.0 的 quic 协定(常问的问题就是 http 只能用 tcp 实现吗)等。
  • JVM 倡议去看《Java 虚拟机》,看面经是相对不够的,面试官略微问得深一点就凉凉,倡议重点看编译原理和运行原理。我大略全书来回翻了三遍,连 class 文件的编写格局都看了。
  • 而后应该就是算法题了吧,如果不是面字节和外企的话,《剑指 offer》应该就够了,然而必须要相熟根本的递归回溯、BFS、DFS、动静布局这些,偷偷说一句并查集常有妙用,倡议 leetcode 每日一题,保持半年你也是大佬。

教训分享:

我的项目的话就捕风捉影地写就好了,千万!千万!千万!不要给本人挖坑!我秋招的简历就删掉了 web 的我的项目,因为发现有点忘了,把我研究生期间做的冬奥会的一个计算机视觉的我的项目的放上去了,纯正装逼,投递国企的时候更显的高大上。

而后就是简历整得难看点,这里举荐用 WonderCV,用过的都说好!留神写我的项目经验的时候不要一大段一大段的文字,多用些加粗的小标题宰割一下,面试官没经验看你简明扼要的;最好把集体技术能力简介放在我的项目前,列一下本人的技术短处,比方 redis、Spring 什么的,有利于面试官疾速理解你,依照我的面试教训,很多面试官间接看的都是这一块的货色。

而后呢就是早开始,找实习的时候我就是开始慢了,3 月份才开始慢吞吞的。如果不是之前有 Java 根底的话,可能我实习都找不到。2021 届校招广泛的都提前了半个月到一个月,所以更要提前准备。

而后有很加分的一项,搭建一个本人的集体博客网站,记录本人的学习。当然了 CSDN 或者 Github 也行,总之就是多记录。面试的时候面试官常会问你平时都逛什么网站,这个时候如果你说你本人搭建了一个网站的话会十分十分加分。如果你感觉租阿里云或者腾讯云的服务器太贵的话,能够用 GithubIO + hexo 搭一个简略的,尽管拜访会慢一点,反正也能看,还有很多难看的模版能够抉择应用,我就是这么干的。

还有很重要的一点,眼光不要只局限在互联网,里面的世界也是很好的。不要总以为只有互联网钱多,某些国企、江浙深的公务员、外围部委公务员(能承受出国)等等,福利待遇可能没你设想的那么低,还会有些特地的福利比方个体购房优惠等,具体的我就不说了怕被查水表。这里就要提到了,早点确定本人想去的是哪里,找准一个指标,同时如果有精力工夫的话,再去尝试别的优质单位,比方加入个国考啊(狗头保命)。我始终感觉,秋招的时候多折腾,总比工作后再折腾要好得多。

而后没什么了,最重要的就是放弃心态吧,最好有个小伙伴跟你一起备战,没事发发牢骚吐吐槽什么的。我和我的搭档找实习的时候都快把阿里骂死了哈哈哈,我三个已拒绝他两个,都是很奇葩的面试经验。后果他秋招拿个十几个 offer,面啥过啥,都是 sp 以上,给我柠檬精坏了。

最初的最初

实习 + 秋招 + 春招是很漫长的过程,身材最重要。我保持了大半年的 5km 跑步,夏天早晨跑,冬天下午跑。别问我为什么不去健身房,问就是不喜爱室内的环境,喜爱室外的感觉。从一开始 50 分钟上气不接下气,到起初 30 分钟轻松跑完,也算是见证了本人的提高吧。

昨天交给导师了论文终稿,安安心心批改论文筹备毕业啦!心愿回学校当前走毁约流程拿到新的三方协定签完,顺利度过盲审和问难。

最初,心愿还在筹备春招的同学们找工作顺利!心愿 2021 届的同学们毕业顺利!心愿 2022 届的学弟学妹们找实习顺利!
硬核地分享点面经吧,只有实习的,因为秋招的我没记录 hhhh

2.1410:30-10:40 某国企 腾讯视频面

  • 自我介绍:包含学习成绩、比赛获奖、我的项目经验、邮储意识、职业规划 1 分钟之内
  • 晓得 Java 的序列化吗?什么时候用到序列化?
  • 序列化用在长久化、深拷贝和网络传输
  • 你的方向是图像处理和后盾开发,是始终做这个吗?
  • 你学校是北京的,为什么报的是苏州的软研?
  • 说一下线程池的一些的概念和用法?
  • 说了外围线程、梗塞队列、最大线程之间的执行关系
  • 一不小心把数据库连接池 c3p0、Druid 说进去了
  • 晓得 Netty 吗?Netty 怎么解决粘包拆包的问题?
  • 惊呆了,我也就看了一点 Netty 的粘包、心跳、pipeline
  • 4 种 长度域 固定长度 分隔符 换行符
  • 罕用基于长度域 LengthFieldBasedFrameDecoder 指定帧协定中的字段偏移和字段长度
  • order by 和 group by 执行程序?
  • 9 点半进入待考间,期待着叫号、验证身份证和学生证、查看正装
  • 两个人同时进入面试房间
  • 面试房间一个主持人,一些记录人员和面试官
  • 面试工夫一组只有 10 分钟,所以要尽量的突出自我
  • 面试官问什么,你就答什么,不要和互联网一样发散拓展
  • 面试官根本不会太看你简历上的我的项目等内容,相干问题能够提一下

2.15 11:00-12:00 某互联网 二面 钉钉视频面

  • 自我介绍
  • 用过哪些框架?Spring 相干的晓得吗?
  • Java 语言中说一下 ReetrantLock 的底层实现
  • 分布式的 RPC 晓得吗?一般 RPC 晓得吗?
  • 说一下 DNS 的原理?
  • 说一下 Spring 的 IOC?如果让你实现你筹备怎么写?
  • Java 的垃圾回收机制?(然而在复制算法,面试官说 from 到 eden 也有对象降级机制,多理解)
  • 说一说 CMS 和 G1?比拟起来有什么优缺点?
  • 算法:反转链表 判断是否有环 判断环的入口
  • 分布式事务怎么实现?(2PC、3PC、TCC、最终一致性。说了下用 redis 的 list 如同也能够)
  • 晓得哪些分布式事务的业内框架?(RocketMQ)
  • 事务的隔离级别?默认的隔离级别?可反复读解决不了什么问题?
  • 如果让你实现一个秒杀,从前端到后端要解决哪些问题?
  • 面对流量过多可能将服务器打挂的问题,怎么解决?(限流和分布式缓存)
  • 如果一个分布式事务有一个子操作挂了,怎么解决?(心跳保活、设置做大谬误数)
  • 线程和过程的区别?
  • Sprint 的 AOP 的实现晓得吗?动静代理晓得吗?

2.16 10:30-11:30 某互联网 一面 视频面

  • 自我介绍
  • ArrayList 和 LinkedList 的区别?优缺点?
  • 栈和队列的区别?利用场景?
  • 我的项目中用过队列吗?(开个阻塞队列寄存音讯,通过线程实现音讯发送)
  • 工夫复杂度和空间复杂度的了解?
  • 快排和冒泡排的工夫复杂度和空间复杂度?最坏的工夫复杂度?
  • 二叉树查找的工夫复杂度?(能够用二分查找 logN)
  • 介绍下 Java 的垃圾收集机制. (我一个人疯狂输入,额定说 JC Roots 对象和 OopMap)
  • 晓得 Full GC 是什么状况吗?
  • 晓得 full GC 的虚拟机调优吗?(空间大小 触发比例 不能太大因为无奈解决浮动垃圾)
  • 数据库的 sql 优化?
  • 为什么索引可能加快速度?
  • 聚簇索引和非聚簇索引?
  • 联结索引的命中规定?
  • 全文索引的命中规定?
  • 晓得 Linux 的 IO 复用的 epoll 吗?ET 和 LT 晓得吗?
  • 手撕快排
  • 说下互斥锁、共享锁、自旋锁.
  • 线程和过程间的切换次要有什么?上下文和虚拟内存页表映射。
  • 用到的一些开源组件?FastJson、Hadoop、Hbase 瞎扯了一点
  • 列存储比照行存储的区别和优缺点

2.13 20:30-21:00 某互联网 一面 电话面

  • 自我介绍
  • 你为了这次面试做了哪些筹备?(看书、源码、整顿我的项目)
  • 我的项目中做得不好的然而没写在简历上的?
  • 怎么确定业务中的要开启的线程数?公式?(N *(1 + w/c))
  • 如果 CPU 飙高怎么排查?(额定说了下阿里的 Arthas)
  • 设计个程序,造成 CPU 飙高的状况?(死循环和死锁)还有吗?
  • 如果 Java 里删除了异样体系,怎么解决异样?
  • 你说你用过 Git,过后多大的我的项目?
  • 怎么解决提交抵触的问题?强制提交晓得吗?
  • 你说你用过 Servlet,版本是多少?(2.5)
  • 列举出 Java 里的三个类,对应三个设计模式?(DataSource、Filter、BufferReader)
  • StringBuffer 的 append 办法是什么设计模式?(我集体感觉是观察者模式)
  • 设计模式的设计准则?(解耦)开闭准则、责任繁多晓得吗?(不分明)
  • 本人写代码的过程中做了哪些解耦的设计?
  • 你说你用过 MVC 设计模式,除了 MVC 还有哪些?(ORM)
  • 哪些框架用了 ORM?(Hibernate)
  • Hibernate 一级缓存、二级缓存晓得吗?
  • 晓得 Hibernate 的一些毛病吗?(不利于 sql 优化)
  • 晓得怎么做 sql 优化吗?
  • 晓得 sql 执行打算吗?
  • 如果有一个一万张表的数据库,怎么晓得哪些表加了索引?什么命令?
  • 你说你用过 JavaScript,你感觉他是个面向对象的语言吗?
  • JS 怎么实现继承封装和多态?
  • 你还有什么问题吗?
  • 说着说着忽然又问了个问题:晓得 SDK 和 API 的区别吗?

总结

置信大家看了这么多肯定有很多播种,那么真正的干货来了!最初为大家筹备了 java 外围知识点 + 全套架构师学习材料和视频 + 一线大厂面试宝典 + 面试简历模板 + 阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题 +Spring 源码合集 +Java 架构实战电子书一起收费分享给大家!

以上材料都是无偿分享给大家的,有须要的敌人关注公众号:前程有光,回复材料即可下载,只心愿大家多多反对小编,祝大家都能面试顺利!

正文完
 0