三面阿里(支付宝)Java 高开岗,疫情期间复习两月有幸拿到 offer
每个程序员都有一个大厂的梦,而互联网大厂首当其冲自然是阿里巴巴最吃香,今天小编就来分享一个小伙进阿里巴巴(支付宝三面)的面经!
“不想进大厂的程序员不是好程序员”哈哈哈!!!
今年由于疫情原因,互联网整个行业都比较严峻,我比较幸运,不久前意外收到支付宝的面试(三面)已经拿到了 offer。
本来春节过后,是金三银四找工作旺季,大部分人年前年后也都准备好了这在两个月里谋得一份自己心仪的工作,奈何今年的 2020 有些特殊,肺炎肆虐,对我们的工作和生活都造成了极大的影响。那么,是不是这样,我们就不工作,不学习了呢?实际上,正是因为现在正值传染病毒传播期间,所以我们宅在家里好好学习是再好不过的。对于 Java 程序员来说,利用这两三个月的时间,好好学习,着手准备起来,等到疫情好转,开始面试时,也不至于胆怯。
我也是在这段时间不断的复习,才有幸的能够拿到支付宝的 offer!
支付宝一面
介绍一下自己。
项目参与的核心设计有哪些
ArrayList 和 LinkedList 底层
HashMap 及线程安全的 ConcurrentHashMap,以及各自优劣势
Java 如何实现线程安全
Synchronized 和 Lock 哪个更好?
HashMap 中的 get()方法是如何实现的?
HashMap 可以用在哪些场景?
JVM,垃圾回收机制,内存划分等
SQL 优化,常用的索引?
还有什么问题需要问的。
支付宝二面
没有自我介绍,直接问做过哪些 Java 开发相关的项目。
对哪些技术比较熟悉?
多线程状态图,状态如何流转?
死锁,死锁原因
页锁、乐观锁、悲观锁?
乐观锁如何保证线程安全?
用过线程池吗,对应的好处,如何用?
两个 10G 的文件,里面是一些 url,内存只有 1G,如何将这两个文件合并,找到相同的 url?
1000 个多并发线程,10 台机器,每台机器 4 核的,设计线程池大小。
代码题:两个有序数组,数组中存在重复数字,合并成一个有序数组,去除重复数字。
说一下自己的优点。
支付宝三面
jvm 性能调优都做了什么
数据库性能调优如何做
分布式系统原理:CAP,最终一致性,幂等操作等
高并发情况下,我们系统是如何支撑大量的请求的
集群如何同步会话状态
常用 NOSQL,有做过比较?
什么情况会出现雪崩,以及如何应对?
负载均衡的原理
数据库事务属性
与同事沟通的时候,如果遇到冲突了如何解决?
工作中觉得哪方面欠缺?
有问题要问么?
期望薪水?
为什么要离开现在的公司?
面试小结
1、加强基本功,增加代码量
多看优秀的源代码,认真从效率、逻辑等方面分析他人如何简洁明晰地实现一个函数,这对提升自己的基本代码能力有很大的帮助。
2、面试前多做题,保持手感很重要
面试之前多做些练习,这不仅可以加快答题速度,也会让自己养成较为规范的答题习惯。
3、复盘笔试答案,思考更优解
最后,不少面试官喜欢在面试的时候复盘笔试题目,与候选人讨论题目的更优解,从而考察考生是否具备主动思考能力。
分享一波我的面试宝典
以下是我个人的一些做法,希望可以给各位提供一些帮助:
21 天啃完 283 页的 pdf 文档
Java 部分:Java 基础,集合,并发,多线程,JVM,设计模式
数据结构算法:Java 算法,数据结构
开源框架部分:Spring,MyBatis,MVC,netty,tomcat
分布式部分:架构设计,Redis 缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
微服务部分:SpringBoot,SpringCloud,Dubbo,Docker
实战系列:Spring 全家桶+Redis 等
其他相关的电子书:源码+调优
(三)刷题
如何刷题?这是很多现在面试者心中的困惑,我们都知道,面试前刷题是很有必要的,毕竟很多题目都有一定的共性,刷足够题目就能够做到举一反三,甚至在面试时,被问到原题,能够侃侃而谈,那么刷题如何进行呢?建议:最好找一些历年的面试原题,分专题来对自己进行训练。
以下是我私藏的面试题库:
结束语
对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与 offer 失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。
以上内容中所有的学习资料、面试资料,均可以免费提供,希望大家金三银四面试顺利,拿下自己心仪的 offer!
欢迎大家扫码来关注公众号博主,获取文章全部资料,此公众号会持续更新技术干货、不定期分享 Java 进阶面试宝典、Java 核心知识、架构书籍电子版
评论