美文网首页青春校园Java开发技巧
三面阿里失败,幸获高人指点缺陷所在,奋战三个月成功入职字节

三面阿里失败,幸获高人指点缺陷所在,奋战三个月成功入职字节

作者: Java斗帝之路 | 来源:发表于2020-08-19 13:58 被阅读0次

个人背景

我的个人背景非常简单,Java开发经验3年,学历普通,一本本科计算机专业,毕业后出来就一直在一家互联网公司Crud,在公司每天重复的工作对我的技术提升并没有什么帮助;

心思开始活泛想去追寻更具有挑战的工作,于是就开始海投简历,没曾想一个星期后居然收到了阿里巴巴是我面试邀请,由于来的有点突然,让我慌手慌脚的,结果可想而知,在三面的时候挂了(能坚持到三面其实还是比较满意的)

还好本人比较喜欢复盘,把面试问题能记得的都做了记录总结,大家先一起来看看吧。

阿里一面:

自我介绍

擅长哪方面的技术?

Java有哪些锁种类?(乐观锁&悲观锁、可重入锁&Synchronize等)

比较重要的数据结构,如链表,队列,栈的基本理解及大致实现

J.U.C下的常见类的使用。 ThreadPool的深入考察; BlockingQueue的使用

Java内存分代模型,GC算法,JVM常见的启动参数; CMS算法的过程。

volatile关键字有什么用(包括底层原理)

线程池的调优策略

spring cloud的服务注册与发现是怎么设计的?

分布式系统的全局id如何实现

分布式锁的方案,redis和zookeeper哪个个好,如果是集群部署,高并发情况下哪个性能更好。

耗时将近50分钟

阿里二面:

参与的项目,选一个,技术难度在哪里?

Collections.sort底层排序方式

负载均衡的原理

设计模式与重构,谈谈你对重构的理解

谈谈Redis相关的集群有哪些成熟方案?

再谈谈一致hash算法(redis)?

数据库索引,B+树的特性和建树过程。

mysql相关的行锁,表锁;乐观锁,悲观锁

谈谈多线程和并发工具的使用

讲讲Redis的架构和组件

Redis的数据一致性问题(分布式多节点环境 & 单机环境)

docker容器

耗时将近40分钟

阿里三面(高级技术专家面):

高并发情况下,系统是如何支撑大量的请求的?

接着上面的问题,延伸到了中间件,kafka、redis、rocketmq、mycat等设计思路和适用场景等

最近上过上哪些技术站点; 最近在看哪些书。

工作和生活中遇见最大的挑战,怎么去克服?

未来有怎样的打算

耗时将近30分钟

自我反省

以上就是支付宝中三次面试全部问题了,事后回忆自己的基础确实不扎实暴露了很多弊端;

同时这次面试也让我冷静了下来,本就是准备试着投投简历,看看现在市场的需求,并没有做充足的准备;现在也知道接下来努力方向在哪里了;

幸好三面的时候加了阿里常老师的微信,事后常老师告诉我说:如果招聘名额再多一个的话我会入选的,相比来说我虽然差了点,但是差的也并不多;同时给我指引了学习方向,只要把这几个重点学习一遍,进大厂轻轻松松,没一点问题。现在分享给各位小伙伴;

九大核心:

多线程高并发

JVM虚拟机

设计模式

redis

zookeeper

mysql调优课程

netty

spring源码分析

算法

之后我就开始了三个月的恶补之旅。。。

我这三个月学习资料与路径

下面所有资料都可以免费分享给各位,只需要转发+关注后私信“666”即可

多线程高并发:

JVM虚拟机:

设计模式:

设计模式是纯看马士兵老师的视频共9.5个G,视频讲解是真的香,会让你理解得更为透彻;

Redis:

Zookeeper:

Mysql:

Netty:

着重推荐这一本《跟着案例学Netty》;本书共19个案例,用案例详细透解Netty在实操中的实际问题;是一本快速帮人出坑的好书;

Spring源码分析:

对于Spring源码起初也是在看一些书籍,结果就是看完就忘,理解不深刻,之后发现看视频并跟着实操是最快的理解方式;Spring源码100集真是香到不能再香了;

算法:

关于算法我可要多说两句了,因为我能进入字节跳动全靠它。

这是一本程序员面试宝典!书中对IT名企图面试的类别转化的最优解进行了总结,并提供了相关的代码实现。针对当前程序员面试缺乏权威的总结总结这一痛点,这本书选择“将近200道真实出现过的经典代码面试题,帮助广大程序员的面试准备做到万无一失。”

本书采用题目+解答的方式组织内容,并把面试题类型相近或者解法相近的题目尽量放在一起,读者在学习本书时很容易看出面试题解法之间的联系,使知识的学习避免碎片化。书中将所有的面试题从难到易依次分为“将、校、尉、士” 四个档次,方便读者有针对性地选择“刷”题。本书所收录的所有面试题都给出了最优解讲解和代码实现,并且提供了一些普通解法和最优解法的运行时间对比,让读者真切地感受到最优解的魅力!

看过的面经:

上面所有资料都可以免费分享给各位,只需要转发+关注后私信“666”即可免费获取

幸运女神的再次眷顾

在恶补了三个月之后迎来了一次字节跳动的内推机会(谢谢马老师给的一次内推机会)

下面给大家再看看字节跳动问的面试题吧!(字节三面压力很大呀!)

一面

40min

Java内存模型

两个进程的变量的地址相同,它们之间的写操作有相互的影响吗

进程通信的方式

关系型和非关系型数据库

事务的特点

原子性和一致性的实现原理(不会)

TCP和IP为什么要四次挥手

Close_ wait状态是什么(不会)

甲乙轮流射箭,两个人命中靶子的概率都是0.5 ,谁先射中就赢,问甲获胜的概率(答案2/3 )

算法题:给出一串数字,去掉k个数,问能形成的最小的数

二面

50min

Java HashMap

put 数据的过程

链表非常长会怎么样

什么情况下会转红黑树

ConcurrentHashMap作的改进

常见的垃圾回收算法

引用计数的循环引|用的情况

MySQL的联合索引

索引的底层结构

100个人坐座位,第一个人随机坐一个座位,后面的人优先坐自己的座位,只有当自己的座位被占了才会随机坐,问第100个人能坐到自己座位的概率(答案50% ,不会)

段页式管理下, CPU取数据要几次访存

算法题:给出一个数字串的排列,找出下一一个比当前数更大的一个排列(不能用next_ permutation )

三面

55min

场景题:对HashMap rehash的时间进行优化

我第一次答了:事先预估capacity ,直接申请相应大小

我第二次答了:扩容时仅申请数组但不拷贝,当get命中时顺便拷贝过去

缺点是什么(可能会生成很多数组)

再优化

手写单例模式(饿汉、DLC懒汉)

算法题:给出一个转义后的字符串,问原串是什么? (写得并不太满意)

字节效率很高,面试完毕的第四天就已收到offer ,挺开心的哈。

最后祝各位看官都可以找到自己心仪的工作。

相关文章

网友评论

    本文标题:三面阿里失败,幸获高人指点缺陷所在,奋战三个月成功入职字节

    本文链接:https://www.haomeiwen.com/subject/fjirjktx.html