人情况:EE方向渣硕,四月末内推了阿里集团某部门Java岗,约三周完成了所有面试。
面经如下:
一面 (简历评估):
1、自我介绍
2、TCP与UDP的区别
3、TCP三次握手说一下(把流程说一遍,这里以为会继续问为什么不是两次或者四次,结果没有)
4、看你项目用到线程池,说一下线程池工作原理,任务拒接策略有哪几种
5、进程和线程的区别
6、ArrayList与LinkedList的区别
7、线程安全与非线程安全集合说一下,底层怎么实现的(hashmap,concurrenthashmap)
8、Java内存模型,方法区存什么
9、数据库事务隔离级别说一下
10、synchronized和lock区别,可重入锁与非可重入锁的区别
11、看你的项目用了悲观锁和乐观锁,说一下区别
12、算法题:圆圈中最后剩下的数字
二面 (部门主管):
1、说一下Spring的IOC和AOP,底层什么原理
2、动态代理有几种,Jdk与Cglib区别
3、数据库三大范式
4、左连接和右连接说一下,内连接呢
5、数据库索引有几种
6、数据库引擎你认识几种,innodb 和myisam 区别,你的项目用到哪个引擎
7、若hashcode方法永远返回1会产生什么结果
8、Error与RuntimeException的区别
9、引用计数法与GC Root可达性分析法区别
10、双亲委派机制说一下
11、算法题:找出一个数组中第100个小的数字(堆思想解决)
三面&四面
(这里合在一起写了,分别是部门A总监与B总监,本以为三面完了就是HR面,结果隔天B总监打过来说补一轮技术面~~三面和四面更多的是问项目,基础问得不多):
1、volatile关键字作用
2、看你项目用到策略模式和工厂模式,说一下区别
3、模板方法模式
4、开闭原则懂吗,说一下
5、NIO说一下你的理解
6、AtomicInteger底层原理
7、CAS机制会出现什么问题
8、还用过并发包哪些类
9、你实习的本地缓存过期策略怎么设置,一致性怎么保证
10、分布式理论懂多少,说一下(这里我说了CAP,Base,paxos)
11、分布式事务有了解吗
12、RabbitMQ消息队列丢失消息,重复消费问题
五面
(交叉面,蚂蚁金服的面试官,别问我怎么知道的,说来话长简短的20分钟,没问多少就挂电话了,貌似凉凉)
1、学习成绩
2、有参加过算法比赛吗
3,Redis和memcached
4、Redis集群宕机,数据迁移问题
5、看你项目用到Spring boot,那有用过Spring cloud吗
6、RPC说一下
7、说一下你对微服务的理解,与SOA的区别
六面(HR面)
1、平常怎么学习的
2、兴趣爱好
3、觉得自己前面几轮面试怎么样
4、除了Java还研究过其它什么技术(我说AI,区块链)
5、跟我介绍一下区块链~
6、怎么看待国内区块链的发展
7,跟我说一下你认为最具有挑战性的项目
8、问我还参加了什么公司的招聘
9、如果有网易游戏,腾讯,阿里的offer你会选择哪个
10、英语10分钟交流(瞬间懵了,这里估计是部门有英语交流要求)
面经如上,有一些问题确实想不起来了,请谅解。
总体来说面试难度没有我在其它大佬们的帖子看到的这么难,都是基础加项目,另外也可能是因为我的心态一直比较好,所以面试发挥还算OK吧~
HR说面试结果会在5月份中旬出来,估计是进备胎池了,慢慢等吧,继续复习,准备其他公司招聘。
阿里技术一面,Java研发岗
阿里一面:
1.学过哪些技术知识呢?
2.说说接口和抽象类的区别(语法,设计,跨域三方面)
3.怎么判断两个对象是否相等?(名称和类加载器)
4.==和equals的区别(比较方式)
5.排序算法有哪些呢(分类说,插入,选择,交换,归并,基排)
5.堆排序的时间复杂度?怎么计算的(logn)
6.说说归并的算法过程(先划分,归并,递归实现,把过程理清)
7.知道先序,中序,后序遍历吗?(把算法过程说一遍)
8.知道Java高并发相关知识吗?(并发包,把里面的内容介绍一边,介绍了闭锁,同步屏障,信号量的应用和底层实现:流控,线程执行顺序等)
9.谈谈JVM(从javac编译4阶段:词法,语法语义,生成,到类加载过程:双亲委派:加载,验证,准备,解析,实例化,实例化先谈堆分区,再说JVM内存结构,然后到GC,GC算法,触发条件,晋升,YGC,CMS过程实现,可达性分析等等,把整个体系说完后面试官肯定了一句说理解得不错…)
10.做过哪些项目?用过哪些框架和技术呢?(SSH,M,Redis,Netty)
11.看过spring 源码吗?(把容器启动过程说了一遍,xml解析,bean装载,bean缓存等)
12.说说AOP实现原理(动态代理:jdk,cglib,分别用了哪些类或接口)
13.事务的实现原理?(源码)
14.说说四层网络模型(每层的协议及应用)
15.谈谈tcp,udp的区别,分别有哪些应用(可靠,面向连接,首部)
16.说说tcp三次握手过程?
17.为什么是3次,2次可以吗?4次呢?(从失效的数据报谈2次为什么不行,从响应时间说为什么不用4次)
18.你有什么想问我的?(问了分布式,负载均衡,缓存相关的,面试官回答说这些对校招是加分项,不懂也没关系,懂了的就更好,说校招关键还是基础,多看源码分析,多关注底层原理)
19.面了50分钟左右
Java面经:有赞offer之路 - 5轮面试的考验
一面 (电面 45min)
Hashmap 是线程安全的吗?Hashtable为什么是线程安全的?
ConcurrentHashmap怎么保证线程安全的? 详细说下。
Hashmap 哈希运算的细节?为什么这么做?
ArrayList 和 LinkedList区别?
ArrayList扩容机制是怎么样的? 详细说一下。
SpringMvc 工作原理?
Session Cookie区别?
Rpc用过么? 说下 Thrift 用法吧?
你一般在项目上怎么运用注释注解的?
G1收集器的内存划分怎么样的?
说下标记-清除算法的具体过程吧?
知道有哪些jvm参数么?说一下吧?
有了解过jvm调优么? 用过什么命令? 一般怎么调优?
只能想起这些问题了……全文的面筋都是面试过程的一部分题目,因为我记性有点差,其他的都忘记了……2333
二面 (视频面 65min)
JUC了解么? 说下CopyOnWriteArrayList吧?
了解线程池么?给你实现一个线程池,怎么去实现呢?
什么情况会出现线程间卡住的情况?(不记得具体是怎么问的大概是这个意思吧)
你知道的锁有哪些?你说下Synchronized和Lock的区别吧?
了解Spring IOC 么?说下你了解的吧?
说下Spring Aop吧?
你了解哪些RPC框架? Thrift是怎么工作的呢?其他的有了解么?
Mysql主从复制是怎么工作的呢?说说各个线程具体做了什么吧?
Redis 和 Memcache有什么区别? 你平时怎么选择的?为什么?
Redis 如果数据不命中怎么处理的? 和Mysql是怎么同步数据的?
你平时一般用哪个java版本的? jdk1.8有什么新特性呢?
jvm gc的时候整个过程是怎么样的呢?
你在项目中一般怎么调优JVM的呢?
你有什么工作上的规划么?
聊下项目吧
三面 (现场面 60min)
聊下项目
项目上有什么更好的优化么?
服务器Dns劫持你会怎么处理?
Https具体流程是怎么样的?
输入一个网址访问具体流程是怎么样的?
html css js等静态资源加载的顺序是怎么样的?依据什么?
Session多系统多服务器共享问题
Cookie分布式问题
实现一个类似Oauth2的授权,你会怎么实现,在白板上面画一下吧。(人生第一次在面试的时候用白板画流程图……)
Maven中怎么查看项目依赖的jar包
说一下你最熟悉的一个数据结构和算法吧。
说下快排的整个过程吧,在白板上面画一下吧。有什么优化的地方么?
最近看什么书?说一下最近印象最深刻的一个知识吧?
分布式了解多少?
四面(现场面 HR面 60min)
聊人生
聊人生的经历
聊印象深刻的人生的经历
终面(现场面 TL面 60min)
聊下项目吧
你为什么这么做?(针对项目中的点)
你写的MVC框架中的Model层是怎么写的?说一下吧?
项目开发前有什么规划么? 白板上画一下吧?
你说下技术方面或者生活方面你做得比较好的一个点和不足的一个点吧?
总结
有赞是一个很不错的公司,环境很好,主要是妹子好漂亮,哈哈哈。
面试官都很nice,公司的技术水平不错,待遇也不错。
希望对大家有用,一起加油!
拿到offer后把面试过的答案总结成文档形式,现在分享给大家!
想进大厂拿offer的小伙伴可以直接点击【 石墨文档 】获取整理好的大厂(阿里、有赞等)面试题以及答案
网友评论