2021.1.20顺利拿到阿里Java研发岗的offer分享面经

Stella981
• 阅读 688

瞎扯两句

我想,很多人和我一样在煎熬中度过着2020年,也经历了不少困难,随着国家对疫情的控制,互联网行业又重新迎来了生机。

就像标题说的,我在2021年1月20号拿到了阿里Java研发岗的offer,也算是正式提桶进大厂的打工人了。于是乎,我想把我的经历分享给大家,希望你们在金三银四这个跳槽旺季找到一份更满意的工作!

面试结束后我大概总结了一下,发现还是准备不够充分,基本上全靠自己平时的积累才侥幸通过。因此,我建议大家平时一定要养成学习的习惯,哪怕只花30min,日积月累总会有收获;其次,提前两个月的时间做好充分的准备,最好不要临时抱佛脚。

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

深夜“食堂”

阿里系的lazada一面现场(50min)

①sync的底层实现,锁优化,和lock的对⽐等

②jvm参数调优详细过程,到为什么这么设置,好处,⼀些gc场景,如何去分析gc⽇志

③redis数据结构,使⽤场景,微博场景使⽤redis如何去设计⽤户关系

④线程池参数设定,为什么这么设定,有什么作⽤?7⼤参数

⑤spring的循环依赖如何解决?为什么要三级缓存?

⑥优先级队列的底层原理?

⑦算法题:k路链表归并

⑧算法题:数组最长子序列

⑨ConcurrentHashMap的底层实现原理

⑩你线上问题解决经验是什么?遇到了什么问题?应该怎么去解决?

小结:一面主要是以基础为主,基本上会扣住你的项目来问,算法基本上必问了

阿里二面现场(60min)

①spring的作⽤、spring循环依赖怎么解决(说出三级缓存源码细节)、spring aop原理(动态代理)、spring bean⽣命周期(源码细节,以及各个位置的设计思路,有什么可扩展的)

②结合你项⽬问你如何设计,提出漏洞,你怎么解决?如何改进,万⼀挂了?加⼀台机器有没有问题?如果我⾮要不出问题怎么办?

③⾼并发下单扣库存场景如何设计

④怎么保证接口的幂等性?

⑤mysql的存储引擎的数据结构是什么?相比其余的数据结构,有什么优缺点?

⑥经典智力题:赛马找最快

⑦最近读了什么书?平时怎么学习?

小结:基本上以设计问题为主,回答得还算满意

阿里三面现场(90—120min)

①tcp协议和uDP 协议的区别是什么?

②3次握手和4次挥手的过程是什么样的?

③介绍一下springCloud的组件,各组件的作用,你们是怎么用,你的理解是什么?

④springCloudbus 关联的消息中间有几种?支持哪几种?你觉得什么场景下,会用到springCLoudBus?

⑤springCloud里面的限流,限流是怎么内部实现的?怎么去挡住多余的请求,怎么实现限流的(线程池的工作原理)?

⑥什么时候该用mongoDB,什么时候使用mysql?该如何选择?

⑦你做过的项目数据量有多大呢?如果现在数据量特别大,或者一张表一种放不下了,应该怎么处理?分布分表应该怎么做?具体的某一张表怎么拆?(涉及到主键生成,各种主键生成策略对比,数据分片,以及关联数据的存储,主从复制)

⑧Java官方提供的创建的线程池的方式有几种?分别是什么?

⑨你们使用的Java版本是什么?Java最新的版本是多少?你们为什么还在使用Java8呢?

⑩你们的垃圾回收器是什么的? 为什么是使用CMS而不是G1? 你能介绍一下像CMS垃圾回收器,从对象创建,内存分配到垃圾回收整个过程吗?

⑪介绍一下策略模式,应该怎么用? 它能解决什么问题?从编码领域系统设计方,介绍一下我们怎么去实现一个策略模式?

技术面内容大致就是这些了,除了靠平时的积累,我觉得提前做好充分准备还是非常有必要的,大家平时有时间完全可以多刷刷面试题,我也整理很多Java面试笔记,文末贴出来给大家看看,有需要的添加小编vx:mxzFAFAFA打包带走吧。

细节决定成败,不要忽略HR面

上次有个朋友面试滴滴,其实他技术面基本上是过了,最后卡在了HR面,结果凉了,所以也千万不要忽略了HR面,下面我就这些问题也做了个总结,希望能帮助大家快速顺利通过面试。(资深HR友情出手解答)

①贴一个举例子:请做一个自我介绍

这道面试题是大家在以后面试过程中会常被问到的,那么我们被问到之后,该如何回答呢?是 说姓名?年龄?还是其他什么?

最佳回答提示:
一般人回答这个问题往往会进入误区,回答的过于平常,只说姓名、年龄、爱好、工作经验等, 但是你们想到没有,其实这些信息你的个人简历上都有,那么面试官还问你干什么?
其实,面试官最希望知道的是求职者能否胜任这份工作,包括:最强的技能、最深入研究的知 识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但一定要突出积极的个性和做事的能力,说得合情合理企业的面试官才会相信。
企业很重视一个人的礼貌,求职者要尊重面试官,在回答每个问题之后还可以加一句“谢谢”, 企业喜欢有礼貌的求职者。
切记:回答面试官问题的时候一定要回答的自然,有底气,否则你给面试官留下一个“假”的印象。

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

最后的内容

在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个40k,没做准备只有30k+,你们懂那种感觉吗)

如何准备面试?

1、前期铺垫(技术沉积)

程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。

下面是我会看的一些资料笔记,希望能帮助大家由浅入深,由点到面的学习Java,应对大厂面试官的灵魂追问,有需要的话添加小编vx:mxzFAFAFA​​​​​​​打包带走吧。

这部分内容过多,小编只贴出部分内容展示给大家了,见谅见谅!

  • Java程序员必看《Java开发核心笔记(华山版)》

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

  • Redis学习笔记

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

  • Java并发编程学习笔记

四部分,详细拆分并发编程——并发编程+模式篇+应用篇+原理篇

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

  • Java程序员必看书籍《深入理解 ava虚拟机第3版》(pdf版)

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

  • 大厂面试必问——数据结构与算法汇集笔记

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

其他像Spring,SpringBoot,SpringCloud,SpringCloudAlibaba,Dubbo,Zookeeper,Kafka,RocketMQ,RabbitMQ,Netty,MySQL,Docker,K8s等等我都整理好,这里就不一一展示了,有需要的添加小编vx:mxzFAFAFA​​​​​​​打包带走吧。

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

2、狂刷面试题

技术主要是体现在平时的积累实用,面试前准备两个月的时间再好好复习一遍,紧接着就可以刷面试题了,下面这些面试题都是小编精心整理的,贴给大家看看。

①大厂高频45道笔试题(智商题)

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

②BAT大厂面试总结(部分内容截图)

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

③面试总结

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

3、结合实际,修改简历

程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:

2021.1.20顺利拿到阿里Java研发岗的offer分享面经

以上分享,希望大家可以在金三银四跳槽季找到一份好工作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。

另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。

以上文章中,提及到的所有的笔记内容、面试题等资料,均可以免费分享给大家学习,只需你:【转发】+【评论】文章,点击【关注】后添加小编vx:mxzFAFAFA打包带走吧。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
可莉 可莉
3年前
2021.1.20顺利拿到阿里Java研发岗的offer分享面经
瞎扯两句我想,很多人和我一样在煎熬中度过着2020年,也经历了不少困难,随着国家对疫情的控制,互联网行业又重新迎来了生机。就像标题说的,我在2021年1月20号拿到了阿里Java研发岗的offer,也算是正式提桶进大厂的打工人了。于是乎,我想把我的经历分享给大家,希望你们在金三银四这个跳槽旺季找到一份更满意的工作!面试结束后我大概总结了
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这