点赞再看,养成习惯,微信搜索【敖丙】关注这个互联网苟且偷生的工具人。

本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点、资料以及我的系列文章。

前言

这次去阿里面试的是我老东家的好朋友,我们之前都是一个项目组的,一起吃饭,一起洗脚,一起。。。

他们公司最近也裁员了,不过他是裁员前去的阿里,不知道谁捞到他简历了,莫名就走了流程,他莫名的就面了7轮过了。

他想着行情这么不好,要不就去了,去了之后,他们公司就裁员了。。。

总之今年大环境真的很差,大家都时刻做好准备,我朋友简历上是写了精通dubbo的源码,所以你们会发现,面试中dubbo的问题很多,他面经写得算是比较简单,但是真实问的过程肯定会扣肯定细节。

正文

面试总共花费20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试

第一轮

电话面试(基础知识为主,约2小时):

1,先自我介绍,包含日常工作

2,基础知识

​ 1)多线程(ThreadLocal(问了父子线程怎么共享数据 interitableThreadLocals)、lock和sync区别(问HashMap1.7、1.8区别时带出)、AQS原理(执行过程源码,入队出队的细节,源码细节)、CountDownLatch和CyclicBarrier的区别是什么源码级别、volatile从指令重排序,内存屏障,聊到总线风暴)所占比重较大

​ 2)数据库(mysql索引(聚集索引、非聚集索引、索引结构(顺带会问各种树的特性)、执行计划、count1*区别、举例优化sql、MVCC和事务隔离级别的关系、间隙锁、行锁(和多线程混合问的,乐观锁悲观锁等)、唯一索引和普通索引的区别聊到了changeBuffer,聊了页分裂合页合并)比重较大

​ 3)jvm调优(可达性分析算法中根节点有哪些、cms和G1区别、怎样GC调优、怎样排查CPU彪高、内存彪高、逃逸分析)

​ 4)redis数据结构、跳跃表、redis qps能上多少,怎么知道的、sentinel和cluster区别和各自适用场景、redis cluster集群同步过程、redis单线程为什么快、多大叫大key、热key产生原因和后果以及怎么解决、本地缓存需要高时效性怎么办.....

​ 5)spring的作用、spring循环依赖怎么解决(说出三级缓存源码细节)、spring aop原理(动态代理)、spring bean生命周期(源码细节,以及各个位置的设计思路,有什么可扩展的)

​ 6)dubbo服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码

​ 7)项目中碰到的问题。

​ 8)为什么换工作,如果通过会直接说有笔试题,和你确认笔试时间。

第二轮

笔试两道题,第一题写代码,第二题写技术方案,以查询为主,考察锁粒度、时间粒度上的细节点。

第三轮

电话面试(解决方案为主,约1.5个小时)
1,自我介绍、项目介绍

2,说到缓存穿透,让我设计一个防止缓存穿透的解决方案,简单的就是存null值,但肯定会深究,可以结合布隆过滤器,设计分布式系统,里面又会问到流量分发到具体过滤器服务的方式,比如一致性hash算法,怎么调用?比如dubbo直连、等等细节会边说边问。

3,有没有做限流,设计一个侵入性最小的限流服务。

4,项目中碰到的问题,最好说框架本身问题,能提现个人能力,也避免问题太低级被面试官看low,刚好之前有发现一个dubbo的bug,所以这问题应该回答的还可以。

5,为什么换工作,每轮都会问,这个得想好。

第四轮

电话面试(项目为主,40分钟,应该是交叉面,问的不算多)

1,介绍最熟悉的项目,业务上有没有什么优化点;和同行业其他公司的差距和优势(估计是P7的标准问题吧。。。我是没咋说好)

2,dubbo服务调用过程(说着说着说到服务暴露和引用上面,他直接说这个之前问过了。。不用重复说,所以面试应该有记录面试问题)

3,NIO、BIO区别,NIO解决了什么问题,Netty线程模型(源码拷问)。

4,MQ相关(RocketMQ、kafaka奇怪的是你写啥面试官问啥,面试官啥都会,技术广度深度令人发指)

第五轮

电话面试(这位面试官比较较真,什么问题都会问具体数值,但和他挺聊得来的,向他请教阿里那边方案也会耐心指导,1.5小时)

1,项目介绍

2,听到说做了限流,限流标准(并发数? qps?并发数和qps关系?说出了5种限流方案和对应算法原理)

3,dubbo调用端怎么在jvm中生成对应服务?dubbo服务端和调用端超时时间设置和区别、dubbo长连接。

3,mysql行锁最大并发数?(秒杀项目指出)

4,设计秒杀系统,我说的异步的方式,会问怎么优化?改为了同步的方式,异步和同步区别? 然后我也问了阿里那边

5,碰到哪些技术难点?怎么解决?有没有参考其他大厂?其他大厂方案什么样的?有没有关注阿里这边最新的技术?

6,刚刚的秒杀系统,会涉及到多个库表的更新,分布式事务怎么解决,我说的消息最终一致性,异步?有没有更好的方案?同步TCC方式,TCC方式原理?(三个阶段的具体实现)

以上是技术面。

第六轮

主管视频面试:个人介绍、项目介绍为主,十五分钟结束。

第七轮

HR面试,项目介绍、职位介绍、离职原因、当前薪资,如果没什么问题,一天后会电话反馈待遇并确认是否接受。

不会问期望薪资是多少,后面会打电话告诉你评级是否接受,然后就开始安排体检了。

总结

面试整体难度中上,因为朋友对dubbo源码的研读比较深,所以基本上每一面都很加分,多线程环境都是常规问题,能回答道计算机底层就很加分了。

这次面试比较突然,他也没准备,全靠平时积累了,所以中间有些描述技术细节和项目的地方他觉得没回答好。

大家如果要面试得好好准备一番,特别是那些常规问题,有啥想问我的?为啥跳槽?等等

最近我事情比较多,你们也知道的,视频和文章可能都输出没那么高,希望大家理解。

我是敖丙,一个在互联网苟且偷生的工具人。

你知道的越多,你不知道的越多人才们的 【三连】 就是丙丙创作的最大动力,我们下期见!

注:如果本篇博客有任何错误和建议,欢迎人才们留言,你快说句话啊


文章持续更新,可以微信搜索「 敖丙 」第一时间阅读,回复【资料】有我准备的一线大厂面试资料和简历模板,本文 GitHub https://github.com/JavaFamily 已经收录,有大厂面试完整考点,欢迎Star。

【面经分享】互联网寒冬,7面阿里,终获Offer,定级P6+的更多相关文章

  1. 秋招打怪升级之路:十面阿里,终获offer!

    本文转载自:https://gongfukangee.github.io/2019/09/06/Job/ 作者:G.Fukang 开源项目推荐: JavaGuide: Java学习+面试指南!Gith ...

  2. 互联网寒冬,Python 程序员如何准备面试

    虽说年年都在喊互联网寒冬,最难就业季,但是今年确实有点不一样,年前年后一波又一波互联网公司宣布『人员调整,结构优化』, 这是往年没发生过的. 是不是面试机会就少了很多呢?不是的. 搜索招聘网站我们可以 ...

  3. Python数据分析在互联网寒冬下,数据分析师还吃香吗?

    伴随着移动互联网的飞速发展,越来越多用户被互联网连接在一起,用户所积累下来的数据越来越多,市场对数据方面人才的需求也越来越大,由此也带火了如数据分析.数据挖掘.算法等职业,而作为其中入门门槛相对较低. ...

  4. 关于写SpringBoot+Mybatisplus+Shiro项目的经验分享四:部署到阿里云

    框架: SpringBoot+Mybatisplus+Shiro 简单介绍:关于写SpringBoot+Mybatisplus+Shiro项目的经验分享一:简单介绍 阿里云开放必要端口,mysql与t ...

  5. 6轮面试辛苦拿到阿里Android开发offer,却从22k降到15k,在逗我?

    一小伙工作快3年了,拿到了阿里云Android开发岗位P6的offer,算HR面一起,加起来有6轮面试了,将近3个月的时间,1轮同级 + 1轮Android用人部门leader + 1轮Android ...

  6. 阿里聚安全受邀参加SFDC安全大会,分享互联网业务面临问题和安全创新实践

    现今,技术引领的商业变革已无缝渗透入我们的日常生活,「技术改变生活」的开发者们被推向了创新浪潮的顶端.国内知名的开发者技术社区 SegmentFault 至今已有四年多了,自技术问答开始,他们已经发展 ...

  7. 互联网寒冬,阿里Ant Design还开坑,程序员该何去何从?

    金山都成立三十年了,不得不感叹中国在这三十年中,互联网确实是一步一步的在改变人们生活的方方面面,随着国家的发展,一大批企业搭上了互联网这趟高速列车走过了这几十年的风风雨雨,当然也造就了一批批传统行业无 ...

  8. Android开发音视频方向学习路线及资源分享,学完还怕什么互联网寒冬?

    接触Android音视频这一块已经有一段时间了,跟普通的应用层开发相比,的确更花费精力.期间为了学习音视频的录制,编码,处理也看过大大小小的几十个项目.总体感觉就是知识比较零散,对刚入门的朋友比较不友 ...

  9. 互联网同步yum服务器阿里云 reposync createrepo

    参考文章: https://www.cnblogs.com/lldsn/p/10479493.html 系统版本centos 7.5 最小化安装 修改主机名 hostnamectl set-hostn ...

随机推荐

  1. 交换机上的MAC地址表

    拓扑图: 1.首先在R1上的配置: R1(config)#int R1(config)#interface g R1(config)#interface gigabitEthernet 0/0 R1( ...

  2. itchat学习

    itchat是一个开源的微信个人号接口,可以很方便的使用python调用微信. 教程如下:https://itchat.readthedocs.io/zh/latest/ 简单试玩了一下,觉得还挺有趣 ...

  3. MySQL数据库的套接字文件和pid文件

    MySQL数据库的套接字文件和pid文件 socket文件:当用Unix域套接字方式进行连接时需要的文件. pid文件:MySQL实例的进程ID文件. MySQL表结构文件:用来存放MySQL表结构定 ...

  4. 修复.NET的HttpClient

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 早在2016年我们就报道过 ,.NET的HttpClient存在一些问题.随着.NET Co ...

  5. UDT的Sender和Receiver

    Sender算法 数据结构和变量: Sender's Loss List:发送方的loss list用来存储丢失包的序列号,序列号来自于两个地方,一是receiver通过NAK包反馈回来,二是超时事件 ...

  6. CF思维联系– Codeforces-990C Bracket Sequences Concatenation Problem(括号匹配+模拟)

    ACM思维题训练集合 A bracket sequence is a string containing only characters "(" and ")" ...

  7. ACM一年记,总结报告(希望自己可以走得很远)

    一. 知识点梳理 (一) 先从工具STL说起: 容器学习了:stack,queue,priority_queue,set/multiset,map/multimap,vector. 1.stack: ...

  8. CentOS上安装比较习惯的代码编辑器

    linux下的vim用起来不是很习惯,可能是能力有限.所以一直在找一种自己比较熟悉的代码编辑器,所以就找到了sublime text,安装方法网上有很多种,比较方便的方法:直接在csdn上下载一个破解 ...

  9. zookeeper(分布式协调框架)简介与集群搭建

    ZooKeeper 的由来: Zookeeper最早起源于雅虎研究院的一个研究小组.在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布 ...

  10. Spring Boot 整合 Apache Dubbo

    Apache Dubbo是一款高性能.轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. 注意,是 Apache Dubb ...