阿里六面面经

一面:
1. 你简历上有后台也有前端, 你想申请哪个岗位?
java后台
2. 说说项目吧
...
3. 说说react吧
噼里啪啦react, redux, flux, axios, fetch
4. 项目什么语言写的
python
5. 那你会java吗?
6. ArrayList, LinkedList
...
7. HashMap, TreeMap
...
8. 详细的说下JMM你所知道的全部
...
9. 你所知道的gc
...
10. IO, NIO
...
OK一面结束
二面:
1. 项目
...
2. 你部署在什么上面的?
...
3. 对Linux了解多少?
了解不多
4. top干什么的
差点没答上来
5. 怎么实现多线程有顺序的执行一段代码?
(1) notify/wait (2)SingleThreadExecutor (3) 自己写框架, 实现add()和register(), 好扩展
6. 什么时候毕业?
...
OK二面结束
三面:
1. 详细的说一下项目
...
2. Netty源码看过吗?
...
3. IO和NIO
...
4. Netty的整体架构
...
5. Netty用在什么地方?
...
6. 说到了MQ, 说说MQ吧
rabbit, kafka, active zero, rocket的比较
7.你都动手写过吗?
大部分
8. 说说rabbit消息分发模式
...
9. 那为什么用Netty?
好扩展, 写起来方便
10. Netty高效的什么地方?
开发高效, 在java体系里面的确速度算快, 但是放到erlang和go里面比可能没什么优势.
11.为什么?
高并发
12. 那Netty在java体系里为什么高效?
我知道可能你要的答案是NIO, 零拷贝, 内存池, 责任链等等, 但是NIO(算java或者底下epoll的, 不能算netty的), 零拷贝(引用, 大家都可以做到), 责任链(肯定一个类更快, 这应该属于扩展高效), 内存池(这个是真正Netty自己的优点).
13. 强一致性, 弱一致性, 最终一致性
...
14. 分布式幂等性实现
...
15. 你项目中用到了哪些中间件?
...
16. zk的一致性
...
17etcd呢?
...
18. 你这些东西都是怎么学的? 就看书吗?
...
19. 哪里人?
...
OK三面结束
四面:
1. IO, NIO
...
2. Netty零拷贝, 怎么实现?
(没答好, 完全讲错了)
3. Netty源码看了多少?
...
4. 那好, 接下来是一个场景题, 前端发送请求过来, 你怎么异步处理, 详细到每一步. (我题目没理解)
(没理解, 题目不是这样的, 我只能理解到这里)
5. 我给你拆开来吧, 首先假设是个秒杀(其实这个是我说的, 能不能理解成秒杀, 面试官说也可以), reuest放哪里?
blockingQueue
6. 那你这个是一个异步处理, 你怎么把正确的数据返回给正确的用户?
(不是很理解)
7. 我提醒你一下吧, 用什么数据结构?
HashMap, 准确点的讲是ConcurrentHashMap(这下对了)
8. 那好, 第三步, 线程间的挂起怎么实现?
wait/notify?
9. 这个可以是可以的, 但合适吗?
这么说应该是不合适的
10. Phaser知道吗? 为什么不用Phaser?
(没答好, 应该说完全没想到)
11. 好了, 我上面说的所有东西Netty里面都有的, 你说一下吧
ChannelGroup我知道是对应的ConcurrentHashMap
12. 好吧, 说说CountdownLatch吧
(这个时候脑子混混的, 说成了Barrier, 真要命了)
13. 你说的不对, 应该是这样的: ...
...
14. 你还会什么?
...
15. 说说zk一般用在什么地方吧
...
16. 说一下zk实现分布式锁的方式吧
...
17. 你好好理一理, 你还是有一点乱的
(对的, 我也是这么觉得的, 回去马上又好好看了看)
OK四面结束
五面:
这轮线下面
1. 简单介绍下自己吧
...
2. 简单说下项目吧
...
3.什么语言写的?
python
4. 用了什么库?
...
5. 对机器学习了解多少?
不多
6. 你为什么不用python里面的库解决你的问题?
我要拆了重写, 那些解决不了
7. 说说机器学习还有用在什么地方?
...
8. 你为什么用python?
...
9. 你自己写的算法自己做过测试吗?
简单测试
10. 会安卓吗?
不会
11. 会Swing吗?
不会
12. 会web吗?
13. 简单说下Spring的IOC和AOP吧
...
14. 好了, 现在没有Spring了, 你来实现IOC, 详细一点, 每一步用什么数据结构, 存什么
...
15. map的key存name有问题吗?
(好像不能用类来找)
16. value存什么?
class
17. 那我要实例怎么办?
forName
18. 单例多例分别怎么解决?
...
19. 内存泄露要考虑吗, 或者说怎么考虑生命周期和引用
...
20. 好了, AOP怎么实现?
接口jdk, 没接口cglib
21.没cglib, 只有jdk
那还是继承
22. jvm了解吗
23. JMM
...
24. gc, 说说有什么算法
...
25. CMS用在哪里, 为什么叫CMS
(一开始答错了, 后来才说出来C代表concurrent)
26. G1听过吗?
27. G1怎么个情况, 解决什么问题?
...
28. cpp的对标解决方案是什么?
说了个delete/free, smart point忘了, 这里没答好
29. 说说Netty的结构吧
...
30. 多线程前面好像都问过了, 我就不问了
谢谢大佬
31. 说下四种引用
...
32. final, finalize, finally
...
33. 重点说下幽灵引用和finalize, 什么时候用? 为什么用?
(基本没答上来, 我的理解是少用, 或者自己不要用)
34. 为什么要学Netty?
...
35. 你说你撇过mina, 为什么想到去瞥一眼?
...
36. 哪里人?
...
OK五面结束
六面:
hr大佬+总监大佬
1. 要喝水吗?
...
2. 简单介绍一下自己吧
...
3. ioc aop
...
(基本就随意问问, 好把我简历调出来)
4. 写算法把, 一个ip怎么转成一个int
这个不难
5. 去国外这么三年值吗?
...
6. 压力大吗?
我不大, 我看别人大
7. 我看看压力也不大啊
我也觉得还好
8. 好吧, 给你一到场景题, 现在的外卖这么流行, 你来设计吧, 从物流的角度映射到具体用什么算法(这道题奖励将近快半小时)
...
9. 未来什么打算, 职业规划
...
----------------------------分割线--------------------------------
目前就想到这些, 具体感受什么的换一篇写好了~

#阿里巴巴##Java工程师#
全部评论
我靠,太6了,把我头都吓飞了~
点赞 回复 分享
发布于 2017-08-31 10:17
全栈大佬出现
点赞 回复 分享
发布于 2017-08-31 10:13
感觉和大佬差个10年8年的
点赞 回复 分享
发布于 2017-08-31 10:29
大佬能过就是A+,阿里星可期呀。这么多面就是定A+级的面啊
点赞 回复 分享
发布于 2017-08-31 17:07
六面都过来了…跨度多久?
点赞 回复 分享
发布于 2017-08-31 10:11
膜拜大佬,……竟然有六面
点赞 回复 分享
发布于 2017-08-31 10:11
那你hr一起面的?大佬
点赞 回复 分享
发布于 2017-08-31 10:15
66666
点赞 回复 分享
发布于 2017-08-31 10:16
大佬666
点赞 回复 分享
发布于 2017-08-31 10:18
有好几个题目每一面都涉及啊
点赞 回复 分享
发布于 2017-08-31 10:19
大佬拿到offer了吗
点赞 回复 分享
发布于 2017-08-31 10:19
真正意义上的大佬,模板
点赞 回复 分享
发布于 2017-08-31 10:25
好强.....................
点赞 回复 分享
发布于 2017-08-31 10:29
求问 哪个部门啊? 收到意向书了么?还是口头offer?
点赞 回复 分享
发布于 2017-08-31 10:30
你拿到offer的部门是哪个?
点赞 回复 分享
发布于 2017-08-31 10:30
点赞 回复 分享
发布于 2017-08-31 11:11
理工是哪个理工啊,MIT吗?
点赞 回复 分享
发布于 2017-08-31 11:15
点赞 回复 分享
发布于 2017-08-31 11:16
感觉不像是校招啊。。。
点赞 回复 分享
发布于 2017-08-31 11:26
向大佬低头!
点赞 回复 分享
发布于 2017-08-31 12:15

相关推荐

02-27 22:59
已编辑
浙江工业大学 后端
年前就投递了后台开发的岗位,但当时投的太晚了已经没实习机会可捞我了。2.10腾讯实习基地(暑期实习提前批)启动后更新了简历,13号收到S3部门的面试邀请1.一面    2.14(周五) 20:00 一面 八股+算法题+SQL题    半小时后通过,2.17上午收到二面邀请2.二面    2.18(周二)19:00 二面 问了个人项目和之后的规划,并且介绍了部门业务    半小时后通过,一直没有约三面。    19号下午打电话催(因为同时面试的字节那边推到HR面了已经)第二天20号收到三面邀请3.三面    2.24(周一)11:00 三面 问个人项目+八股,也介绍了一下部门业务    第二天25号下午通过并同时收到HR电话面试邀请4.HR面(电话面试)    2.25(周二)18:30 HR面    确定了入职时间、薪资福利的一些事情然后进录用评估。说下周一左右发正式offer    从收到一面邀请到确定录用过了12天,三轮技术面,一轮HR面。腾讯在面试过程中都很友好,问题答不出来也会引导,没有刁难人的情况,每轮的反问阶段面试官都很热情的介绍部门工作内容。并且对双非也比较友好,我投简历除了腾讯字节都过不了初筛的upd:27号(周四)收到了正式offer#面经##实习基地##后台开发##后端##腾讯##面试时间线##暑期实习##牛客AI配图神器##字节#
点赞 评论 收藏
分享
02-27 21:19
已编辑
华南理工大学 Python
一面:计算机网络:三次四次握手三次建立tcp连接客户端-》服务端 发送建立连接请求syn 其中包含客户端的初始序列号《- 回复请求 可以连接 syn-ack-》发出连接信号ack  四次挥手断开tcp连接客户端-》服务 发送断开连接请求fin(finish)《-可以断开请求ack《-断开ack-》断开ack操作系统:进程与线程,线程通信,互斥锁,乐观悲观锁进程是资源分配和调度的最小单位,有独立的内存和资源  线程是执行的最小单位  进程由一条甚至多条的线程组成 ,进程的内存和资源被所有线程共享 线程通信 1共享内存(需要同步禁止(互斥锁)来避免竞争关系)2消息传递(使用队列、管道等数据结构实现)3信号量4条件变量 互斥锁保证共享资源的同步机制,确保同一时间只有一个线程可以访问共享内存读写锁对共享资源的同步机制读(共享锁)写(独占)适合读多写少 乐观锁指 假设最好的情况,即每次访问共享资源时不会发生冲突,因此在访问的时候不上锁,通常用在读操作较多的场景,可以减少锁开销,提高并发性能悲观锁指  假设最坏的情况,即每次访问共享资源时候回发生冲突 每次访问资源之前先枷锁 包括互斥锁 读写锁,适用于写操作较多的情况linux命令:用过的linux命令,查看进程psps aux:显示所有用户的进程,包括详细信息(如CPU和内存使用情况)。ps -ef:显示所有进程的完整信息。ps -e:显示所有进程。ps -u username:显示指定用户的进程。数据库sql写一个,模糊查询SELECT * FROM 表名WHERE 列名 LIKE '%关键字%';%关键字%:查询包含“关键字”的所有记录。关键字%:查询以“关键字”开头的记录。%关键字:查询以“关键字”结尾的记录。关键字_:查询以“关键字”开头,后跟一个字符的记录。关键字%_:查询以“关键字”开头,后跟一个或多个字符的记录冒泡排序实现原理,复杂度,快排复杂度重复地遍历待排序的列表,依次比较相邻的两个元素,如果它们的顺序错误就交换它们。这个过程会重复进行,直到没有需要交换的元素为止,此时列表已经排序完成。快排递归 时间logn 空间nlogn最有挑战的事情从0到1搭建Python+Pytest接口自动化测试框架环境的搭建接口测试pytest学习jenkins环境搭建和配置测试报告生成性能测试 (压力测试)Jmeter性能场景分析于创建压测脚本编写及调试脚本执行指标监控(业务指标、硬件指标、软件指标 grafana定位瓶颈性能调优输出测试报告业务指标:并发用户数 TPS 成功率95 响应时间硬件指标 :CPU资源利用率、内存利用率、磁盘I/O、网络I/O软件指标:线程数、JSBC连接池、慢SQLtps上不去,分析下原因?(素材库录用、上传首先是压力机压力不够,比如用我们笔记本压不到那么高TPS, 所以我们公司有自己测平台,分布式集群压测。网络带宽,单位时间内网络传输数据量过大,超过带宽处理能力慢查询(数据库连接池配置过小,最大连接数不够 50 redis 表结构 查询优化Cpu,内存,磁盘硬件资源达到瓶颈中间件redis也有可能存在瓶颈比如缓存穿透,缓存过期等等存在大量线程阻塞,线程死锁等中间件消息队列拥堵响应时间过长 95大服务器硬件资源cpu,内存,磁盘达到瓶颈,可以使用监控命令排查网络问题导致,比如丢包,带宽不够等等线程出现死锁,阻塞等问题可以用jstack查看中间件比如mq消息队列拥堵排队等数据库层面sqI不够优化,没有索引,联合索引失效等,数据库连接数不够最自豪的事情代码:求1-n中,3和5的倍数,并相加def sum_multiples_of_3_and_5(n):    total_sum = 0    for i in range(1, n + 1):        if i % 3 == 0 or i % 5 == 0:            total_sum += i    return total_sum能不能实习课程安排 二面:自我介绍浏览器输入baidu.com的详细过程,说完然后继续问能不能详细讲1 dns将域名-》IP地址 计算机通过IP地址定位和连接其他服务器2 tcp握手3-》 通过tcp连接向百度服务器发出https( SSL/TLS )请求 请求的 URL 通常包括:请求方法(如 GET)、请求头(包括浏览器信息、语言、Cookie 等)以及目标资源的路径(如 / 或其他页面)。3百度使用https协议和客户端进行安全连接 ,处理请求返回html、css、js文件、图片等4浏览器解析收到的信息并渲染网页为什么不做开发,而选择测开1项目经历 爱好2性格3职业规划怎么判断bug是前端还是后端,1ui不符合(布局、交互、渲染) 前端2查看控制台,浏览器发起的请求 无返回或者返回信息错误(500、502) 后端3查看接口 返回数据正确 前端 错误 后端如果是后端,怎么去定位1 查看后端日志,包含错误信息 请求参数 响应 -》定位bug查看应用日志:大多数后端框架(如 Spring Boot、Express、Django 等)都会记录错误信息到日志中,查看日志能帮助你了解错误发生的上下文。查看数据库日志:如果问题涉及数据库查询或操作,可以查看数据库的查询日志。2借口测试检查响应状态码:例如,500 错误表示服务器内部错误,404 错误表示找不到资源。检查响应数据:确保返回的数据结构、字段值等符合前端的需求。3检查数据库是网络层哪一层应用 传输 数据格式化、加密解密、压缩网络 路由数据包 确保从源到目的地的传输 寻址和路由选择物理层 物理介质传输比特流写代码:最长公共前缀和,如何优化时间和空间口述思路:两个链表如何找交点,环形链表怎么处理智力题:三个箱子,苹果,橘子和混合,都贴错,只能打开一次,然后判断是否准确混合 三面:30min1.自我介绍2.项目提问3.如何理解测试开发    1 手动+自动化测试框架的开发      2 核心职责 1自动化测试脚本的编写 ,这些脚本通常使用一些测试框架(如 Selenium、Appium、TestNG、JUnit 等)来执行功能测试、回归测试、性能测试等。2测试框架的开发,已有的市面上测试框架不满足细化需求 、开发测试框架满足定制化需求3测试环境的搭建 选择合适的操作系统、浏览器、数据库等,确保测试在真实或接近真实的生产环境中运行。包括 CI/CD(持续集成/持续交付) 环境的配置,如 Jenkins、GitLab CI 等。    3与开发团队的协作4.为什么投百度,是否投其他公司    有 贵公司能力、红利 能力契合 职业发展规划
查看22道真题和解析
点赞 评论 收藏
分享
评论
14
106
分享

创作者周榜

更多
牛客网
牛客企业服务