阿里面经(巨难,我怀疑在刁难我胖虎)
笔试
0810 场 AK
面试
- 总体评价:面试官好...模板化,不能和俺在有点亲切的交流吗????
- 岗位:Java开发
- 部门:淘系新零售
- 代码题目:力扣 290. 单词规律,3分钟AC,有点简单,再来一个: Offer 19. 正则表达式匹配 15分钟AC
问题:有一说一,第一次遇见这么阴间的面试题
第零题:自我介绍,项目介绍,项目亮点难点介绍(如何尽可能的照顾CAP,kafka参数调节,推拉流,数据库表设计,blabla)
第一题:知道句柄吧,解释一下句柄的原理(????)
第二题:Java程序从开始打开句柄到句柄关闭,说一说操作系统做的工作(??????)
第三题:咱们来到简单的:说说HashMap为什么是线程不安全的,(嗯!)
第四题:TCP/IP我知道你肯定会,HTTP报文能给我说一下吗,详细说一下请求报文,以及HTTP和TCP的区别。
第五题:来道简单的数据库问题吧,我知道索引,CRUD什么的你肯定都会,这样你给我说一下怎么实现一个数据库吧(??????)(按照大二写的DBMS的思想说了一下)
第六题:再来一道简单的数据库问题,给我说一下从你打开命令行到发送请求,mysql服务器的整个相应流程吧(?????)(走了一遍流程)
第七题:你说你对并发有了解,聊一聊CAS吧,详细说说CAS的底层设计思想,你能模拟一下锁升级吗?
第八题:进程之间通信的五种方式,及其原理和应用场景
第九题:聊一聊NIO的应用场景吧,如何设计一个聊天室
第十题:聊一聊你的项目吧,如何做的推拉流(调用的腾讯的服务),实时数据传输掉包,是如何解决这个问题的(线程池+定时任务访问消息队列)
第十一题:既然你提到了线程池,我知道线程池你肯定会,能详细给我说说拒绝策略的应用场景吗?
第十二题:场景题目:布式事务的解决方式,2pc,3pc,TCC。
第十三题:详细说说redis为什么使用跳表而不是用红黑树,(骄傲的说自己测过红黑树,红黑树的效率要比redis的效率高很多倍,所以唯一的原因是,跳表实现简单)
第十四题:Spring的IOC如何实现的,循环依赖注入如何解决的,SpringBoot的自动启动说一下,真就跟我玩底层呗?
昨晚上复盘,再整理两道题目:
一、docker容器是如何实现线程隔离的,(答使用Namespaces实现了系统环境的隔离,使用CGroups限制这个环境的资源使用情况)
二、你知道C++对吧,你肯定知道C++可以使用malloc来进行空间分配,你能不能简单说一下,如何用Java实现连续空间的内存分配呢(答:new byte[size])
总体感觉难度真的好大好阴间。
希望有机会给大家整二面经
最后一更,挂了,后面几面主要都是在问项目,简单说一下考察的思路吧。
- 系统考察:
- 高并发情况下出现的问题,如何进行解决:限流降级熔断
- QPS在各个阶段的数据库情况,Jmeter设置的测试组的情况
- 常见的高可用的策略方式:系统架构,数据库设计,前端设计,中间件设计。
- ZGC G1和 CMS的优缺点
- 了解HTTP3吗,不了解,然后给我讲了讲HTTP3,让我比较一下HTTP3和HTTP2 HTTP之间的区别,为什么HTTP3使用UDP
- 你怎么分析dump文件的(答:查看dump文件里面的wating线程主要的等待情况及相应的任务,根据此调整了tomcat的连接池。
- 等等吧,总的来说就是遗憾,非常的遗憾,遗憾到不能再遗憾,阿里朝圣之路止于此,心有不甘,却又无可奈何,说实话现在心态爆炸,最后面试的时候面试官咄咄逼人,我又太过紧张,以至于简单算法都没AC,场景题也没回答好,UML图也没理顺,给了我一种我是fw的感觉。希望各位大佬都能拿到自己的心仪的offer吧。