AL
8.23 阿里Java开发一面
作者:能给菜鸡个offer吗
链接:https://www.nowcoder.com/discuss/717309?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网
电话面 时长80min
介绍实习项目,做了哪些?难点在哪? 介绍简历的项目,遇到了哪些问题?平时都是怎么解决问题的?(我说了百度 看书 看视频 问别人 面试官问我还有吗????大大的疑惑) 抽象类和接口的区别 值传递和引用传递?深拷贝 浅拷贝? 讲讲常见的集合类 讲讲hashmap,concurrenthashmap底层实现,put流程 hashmap数组长度为什么是2的幂次方 hashmap1.7 1.8在扩容做了什么优化? 了解集合的fail-fast机制吗,这个机制怎么形成的? 如何解决? 单线程和多线程的区别?(这不就名字的上的区别吗) 如何多个线程顺序打印1-100?(我说了synchronized lock 阻塞队列 ) ThreadLocal了解吗?说说底层实现?会发生什么问题?(内存泄漏) 线程池了解吗?讲讲平时怎么用的 了解事务吗(当时听成树 讲了一堆b+树...) 事务特性? 隔离级别?分别解决什么问题? RR级别能完全解决幻读吗?(我说的可以,基于快照读可以通过MVCC,当前读的话可以加gap key next key)但是面试官的意思好像是不能解决...... 场景题 写一个sql 统计1月到12月每个月的订单量的总和趋势(意思就是一条sql 语句 能查询出每个月份的数据 假设每个月订单都为100元 那么1月(100元) 2月(100元+1月订单量) 3月(100元+2月订单量)......) Spring框架了解吗 我说了解 面试官就没问了 servlet用过吗?listener和filter的区别?(真记不到了.....)filter的生命周期? 场景题 统计一天内某个时段的订单总量? Linux熟悉吗?如果cpu100% 怎么定位解决? top命令 ps命令区别? 有个10G的日志文件 如何查看最新的日志?
总结:面试官之前是面社招的,很少面校招 ,他发现我基础(八股)挺牢靠的,所以很多问题问我了解吗 我说了解 他就不问了...然后就问场景题 一是以前没接触过 二是确实太紧张 答得稀碎 感觉要凉 但还是求二面吧
蚂蚁金服(成都)Java开发一面面经(80min)
作者:玄奇子
链接:https://www.nowcoder.com/discuss/701729
来源:牛客网
一面 8.9 14:00 80min(电话面)
这一面真的是我面过时间最长的了。。面的神志不清(
一开始面试官先聊了一下成都的发展,然后正式开始。
自我介绍大概说了一下实习的情况。
基础
- 面向对象的三大特征?
继承、封装、多态
追问:多态的好处?在Java中有哪些应用场景? - JVM的内存区域?具体介绍一下每个区域的作用。
- 讲解GC机制?
追问:看过JVM源码吗?
答:没有 - Spring的特点?
追问:Spring AOP的实现原理?具体应用在哪些方面?举个例子? - 项目中的AOP实现防止重复提交具体是怎么实现的?
- 进程和线程的区别?
- 进程间通信的方法?
追问:用过哪些?具体怎么调用的? - 多线程同时读写会发生什么问题?
- 死锁是什么?如何避免?
银行家算法。
追问:死锁的必要条件是什么?如何从必要条件上预防? - 索引的作用?索引有什么缺点?
追问:使用索引需要注意什么? - 事务的特点有哪些?
追问:用过分布式事务吗? - 说说数据库的乐观锁和悲观锁?
- 说说TCP和UDP?区别?分别有什么应用场景?
追问:TCP如何保证可靠性?
答:checksum, ARQ, 流量控制,拥塞控制
追问:流控和拥塞控制选一个详细说一下? - HashMap的底层实现?看过源码吗?
这个可算是看过了
追问:再选一种比较熟悉的数据结构,说底层原理和调用接口。 - 选一种排序算法说说原理?
选了快排。
快排是稳定的吗?最优情况和最差情况的时间复杂度?
实习项目 - 项目的背景是什么?要达到什么目的?具体是如何实现的?
- 如何保证重构的正确性?
- 除了单元测试和性能测试还应该进行一些什么测试?
- 项目的QPS大概是多少?
- 怎么判断你的重构是比原来的代码好的?
二面 8.20 14:30 (电话面 55min)
上轮面完以后被晾了好久,昨天找内推人问了一下今天直接约面了
面试官一开始先介绍了一下流程,以及业务。
然后我这边自我介绍,之后正式开始。
基础
操作系统
进程的状态
进程和线程的区别
追问:JVM是进程还是线程?线程的同步机制
数据库索引的作用
介绍一下B+树
索引查询一定有提升吗?
什么是事务?
数据库的乐观锁和悲观锁
计算机网络TCP/IP协议的分层?五层模型各层的作用?
JVMJava的类加载机制
介绍双亲委派模型,双亲委派模型的作用
介绍GC机制
了解CMS和G1吗
Java数据结构HashMap线程安全吗?为什么线程不安全?
ConcurrentHashMap的实现原理
项目实习项目的背景,解决什么问题
具体的应用场景
个人的工作
这块问的比较具体
闲聊成绩情况
为什么不考研?
最有成就感的事情
遇到最有挑战的事情
最后反问环节结束又提了一次补笔试的事情(一会儿就补 希望别又被锤碎了
作者:Asurans
链接:https://www.nowcoder.com/discuss/713930?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网
阿里巴巴 天猫国际 123hr面面经
笔试
考察模拟和并查集 AK了
一面
自我介绍
专业
学习情况
项目
比赛
数据结构与算法
学过什么,用过什么,在哪用过
数据库索引
b树,b+树
索引失效
redis为什么快,一直问到底层epoll()
redis能不能做内存数据库
redis aof rdb区别与优点
浏览器访问流程
报文在网络中流转过程
问数据库比较多,完全不问java,jvm,juc我这些理解的比较深 😫 😫
二面
自我介绍
专业
学习情况
项目
数据库索引
场景题:微信朋友圈怎么建表,关系如何
如果表项非常大,应该如何更改表
如何自学java的,看了什么书
如何自学spring的
项目中遇到的困难,如何解决的,解决过程
三面
说是项目总监+hr一起面 我哪见过这场面 瑟瑟发抖
自我介绍
了解基本情况,学习成绩排名,国奖前3%怎么算的
学过哪些计算机相关的专业课
计网:app上打开淘宝的流程?当时瞬间蒙了,只知道浏览器的过程。。。
数据结构与算法:知道哪些排序
排序的时间复杂度是多少
快排的时间复杂度怎么来的
为什么三个高级排序算法中都有logn,是巧合吗(不得不说,一层套一层,递进,而我紧张的在一开始就在那答第三个问题,面试官也告诉我要我不要紧张,一问一答不要抢答。。)
问项目
问我在项目中负责什么,解决什么,虽然不是软件方面的,但是面试官还是和我聊的很细,respect,赞!
问项目应用场景
hr
确认绩点
选择工作看重什么
还投了哪些公司
一直在坚持的一件事情(我说运动,她说这叫放松不算,再说一个,我说刷力扣)
为什么刷(当然是因为热爱)
刷了多少(各个平台上一共刷了快500道吧)
反问
第一个大厂面完,希望能有意向书,许愿许愿许愿
阿里java研发面经,三面共25个问题
作者:link8888
链接:https://www.nowcoder.com/discuss/690638?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网
首先说下我的感受,阿里非常重视基础,问的不仅宽泛而且比较深入,java基础、数据结构、操作系统、计算机网络、数据库都有涉及;相较于头条,阿里算法问的比较少也比较简单。ps:文末有福利哈
废话不多说,直接上干货:
1、Java容器:List,Set,Map
2、Map的遍历方式
3、HashMap扩容为什么是扩为两倍?
4、Java线程同步机制(信号量,闭锁,栅栏)
5、对volatile的理解:常用于状态标记
6、八种基本数据类型的大小以及他们的封装类(顺带了解自动拆箱与装箱)
7、线程阻塞几种情况?如何自己实现阻塞队列?
8、Java垃圾回收
可达性分析->引用级别->二次标记(finalize方法)->垃圾收集 算法(4个)->回收策略(3个)->垃圾收集器(GMS、G1)。
可达性分析的根结点:
9、java内存模型
10、TCP/IP的理解
11、进程和线程的区别
12、http状态码含义
13、ThreadLocal(线程本地变量),如何实现一个本地缓存
14、JVM内存区哪里会出现溢出?
15、双亲委派模型的理解,怎样将两个全路径相同的类加载到内存中?
16、CMS收集器和G1收集器
17、TCP流量控制和拥塞控制
18、服务器处理一个http请求的过程
19、例举几个Mysql优化手段
20、数据库死锁定义,怎样避免死锁
21、spring的aop是什么?如何实现的
22、面向对象的设计原则
23、策略模式的实现
24、操作系统的内存管理的页面淘汰 算法 ,介绍下LRU(最近最少使用 算法 )
25、B+树的特点与优势
阿里AE部门java后端一面二面(70min)
作者:牛客733852327号
链接:https://www.nowcoder.com/discuss/706248?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网
一面:
问项目30分钟。
操作系统:
1、操作系统都有哪些内容啊?(答:进程管理、内存管理、文件管理)
2、进程通信的方式?每种方式的应用场景?进程如何保证并发的?讲一下信号量?什么是临界区?
3、操作系统怎么进行内存管理?每种方式有什么优缺点?
4、页式存储和段式存储分别应用在什么场景下?
计算机网络:
1、http为什么说是无状态的?
2、http和https的区别?(我正准备将https的连接流程呢,面试官直接打断,下一个问题)
3、TCP和UDP有了解吗,说一下区别?
数据结构:
1、说一下排序算法有哪些?
2、讲一下归并排序?归并排序是稳定的吗?(我忘记了,回答不稳定,最后面试官细心引导,我才想明白)
数据库:
1、说一下数据库有哪些索引?索引都用在什么情况下?
2、说一下B+树?为什么B+树比B树更加矮小,查询效率更高?
3、根据索引查询的过程是什么?
最后两道题:
1、写一段代码,实现三个线程,第一个线程打印1,2,3,4,第二个线程打印5,6,7,8,第三个线程打印9,10,11,12,
然后第一个线程再去打印13,14,15,16,一直打印下去。
2、手写观察者模式
一面结束三小时就给二面了!
阿里Java后端二面(60分钟)
让我有点震惊的是,没有问技术问题,总体来说就是聊天。
1、自我介绍一下?
2、研究生阶段主要的工作任务简单说一下
3、你觉得对你影响最大的一个朋友或同学是谁?能简单介绍一下哪些方面对你有影响吗?
4、你能分享一下你觉得你最有成就的一件事吗?
5、你在项目当中有没有遇到与其他人协作方面的问题?如何解决的?
6、你能说一下你对自己的职业规划吗?怎么看待架构师?
7、我们在实际开发中用到算法的地方并不是很多,那你觉得学习算法有必要吗?为什么?
(基本就这些问题,聊天聊了有40分钟,最后二十分钟面试官给我详细介绍了一下部门的业务和面临的挑战)