写点什么

程序员上班“划水”向阿里猛投简历,两次被刷后,终成“菜鸟”P6

用户头像
云流
关注
发布于: 11 小时前

怀揣着对大厂的梦想,程序员小王本想在工作两至三年的时间内能进入大厂,奈何竞争是如此激烈。而且进入大厂并不容易,曾经一度被腾讯、京东、美团等大厂刷下来,甚至有些公司连面试机会都没给。今年恰好趁着疫情那段时间的空档期,程序员小王下定决心,向阿里发起“总攻”。

在这次面试阿里之前,程序员小王在去年年底到今年 6 月份这段时间不断的查缺补漏,把大部分时间都花在了学习技术上面,去看阿里招聘网站上的岗位需求是什么,Mysql 不好就狂刷 Mysql,Redis 不够深就扎进去学......

后面终于在三次阿里内部开发岗位面试之后,敲定了“菜鸟网络”的岗位,定级 P6.

以下展示的阿里面试题(含答案)、学习资料、实战文档等,均可以免费分享给大家,需要的朋友可以点击这里即可获取到文章中的文档,资料


天猫团队面试题(3 轮技术面+HR 面)

阿里面试技术题:

  • 自我介绍呗

  • 项目介绍呗(先自己介绍项目,然后再聊天)

  • junit 用法,before,beforeClass,after,afterClass 的执行顺序

  • 分布式锁

  • nginx 的请求转发算法,如何配置根据权重转发

  • 用 hashmap 实现 redis 有什么问题(死锁,死循环,可用 ConcurrentHashmap)

  • 线程的状态

  • 线程的阻塞的方式

  • sleep 和 wait 的区别

  • hashmap 的底层实现

  • 一万个人抢 100 个红包,如何实现(不用队列),如何保证 2 个人不能抢到同一个红包,可用分布式锁

  • Java 内存模型,垃圾回收机制,不可达算法

  • 两个 Integer 的引用对象传给一个 swap 方法在方法内部交换引用,返回后,两个引用的值是否会发现变化

  • AOP 的底层实现,动态代理是如何动态,假如有 100 个对象,如何动态的为这 100 个对象代理?

  • 是否用过 maven install、 maven test、git(make install 是安装本地 jar 包)

  • Tomcat 的各种配置,如何配置 docBase

  • Spring 的 bean 配置的几种方式

  • Web.xml 的配置

  • Spring 的监听器

  • Zookeeper 的实现机制,有缓存,如何存储注册服务的

  • IO 会阻塞吗?readLine 是不是阻塞的

  • 用过 Spring 的线程池还是 java 的线程池?

  • 字符串的格式化方法(20,21 这两个问题问的太低级了)

  • 时间的格式化方法

  • 定时器用什么做的

  • 线程如何退出结束

  • java 有哪些锁?乐观锁,悲观锁,synchronized,可重入锁,读写锁,用过 reentrantlock 吗?reentrantlock 与 synmchronized 的区别

  • ThreadLocal 的使用场景

  • Java 的内存模型,垃圾回收机制

  • 为什么线程执行要调用 start 而不是直接 run(直接 run,跟普通方法没什么区别,先调 start,run 才会作为一个线程方法运行)

  • qmq 消息的实现机制(qmq 是去哪儿网自己封装的消息队列)

  • 遍历 hashmap 的三种方式

  • JVM 的一些命令

  • memcache 和 redis 的区别

  • Mysql 的行级锁加在哪个位置

  • ConcurrentHashmap 的锁是如何加的?是不是分段越多越好

  • myisam 和 innodb 的区别(innodb 是行级锁,myisam 是表级锁)

  • MySQL 其他的性能优化方式

  • Linux 系统日志在哪里看

  • 如何查看网络进程?

  • 统计一个整数的二进制表示中 bit 为 1 的个数

  • JVM 内存模型,java 内存模型


阿里面试题(共 5 面)

阿里一面:

  • 自我介绍、自己做的项目和技术领域

  • 说一下 sync 的底层实现,锁优化,和 lock 的对比

  • 讲一下 JVM 参数调优详细过程

  • 为什么这么设置?好处是什么?描述 gc 场景,如何去分析 gc 日志?

  • redis 数据结构,使用场景,微博场景使用 redis 如何去设计用户关系?

  • 线程池参数设定,为什么这么设定,作用?7 大参数

  • spring 的循环依赖如何解决?为什么要三级缓存?

  • 优先级队列的底层原理?

阿里二面:

  • 自我介绍一下吧

  • 聊项目

  • 结合你项目问你如何设计,提出漏洞,你怎么解决?如何改进,万一挂了?加一台机器有没有问题?如果我非要不出问题怎么办?

  • 高并发下单扣库存场景如何设计

  • rocketMQ 架构设计原理

  • Dubbo 框架实现原理

  • 最近读了什么书?平时怎么学习?

  • 常用的负载均衡,该怎么用,你能说下吗?

阿里三面:

  • 这一面主要问项目,给你的压力感比较强

  • 结合项目问,为什么这么设计?让你去优化,你怎么优化,引导你用一个合理的更好的方式去优化,数据库的设计等

  • 在公司做了什么事情,各个系统业务线都是做什么的,你的绩效,手写算法链表反转?

阿里四面:

  • JVM 的主要组成部分及其作用?

  • JVM 运行时数据区包含哪些?

  • JVM 垃圾回收机制,何时触发 MinorGC 等操作

  • JVM 的垃圾回收算法:

  • JVM 调优的工具?

  • 常用的 JVM 调优参数?

  • 堆栈的区别?

  • 详细介绍一下 CMS 垃圾回收器?

  • 怎么判断对象是否可以被回收?

  • 新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?

  • java 类加载过程?

  • 把你知道的中间件都说一下吧(瞬间懵了一下)

HR 面:

  • 为什么来阿里?

  • 之前没考虑过阿里吗?

  • 毕业这么久了,你觉得自己最大的改变是什么?

  • 用一句话总结一下自己

注:由于文章篇幅有限,面试题的答案的详细版整理在文档里,需要的直接后台私信【阿里】免费领取!


菜鸟网络五面

一面 电话面试

  • 介绍自己比较熟悉的项目和项目中遇到的难点

  • springbean 生命周期

  • 谈谈依赖注入和面向切面

  • hashmap 原理和扩容机制

  • 常用并发包下的类

  • redis 持久化方式,为什么这么快?

  • 自己平时如何提升的,看书或者网站

二面

  • jvm 类加载机制,分别每一步做了什么工作?

  • jvm 内存模型,垃圾回收机制,如何确定被清除的对象?

  • 了解哪些垃圾回收器和区别?

  • 多线程相关,线程池的参数列表和拒绝策略

  • Jvm 如何分析出哪个对象上锁?

  • Mysql 索引类型和区别,事务的隔离级别和事务原理

  • Spring scope 和设计模式

  • Sql 优化

三面

  • fullgc 的时候会导致接口的响应速度特别慢,该如何排查和解决?

  • 项目内存或者 cpu 占用率过高如何排查?

  • concurrentHashmap 原理

  • 数据库分库分表

  • Mq 相关为什么 kafka 这么快,什么是 0 拷贝?

  • 小算法题

  • http 和 https 协议区别,具体原理是什么?

四面

  • 手画自己项目的架构图,并且针对架构和中间件提问。

五面 hr 面

HR 面基本就是问一些个人的问题,确定价值观啥的没问题就行了

后面就是确定薪资,福利待遇。什么时候可以到岗。

一点简历方面的小建议

简历尽量写好一些,项目经验突出:

  • 自己的知识广度和深度

  • 自身的优势

  • 项目的复杂性和难度以及指标

  • 自己对于项目做的贡献或者优化

注:由于文章篇幅有限,面试题的答案的详细版整理在文档里,需要的可以点击这里即可获取到文章中的文档,资料!!











资料获取:点击这里即可获取到文章中的文档,资料

用户头像

云流

关注

还未添加个人签名 2020.09.02 加入

还未添加个人简介

评论

发布
暂无评论
程序员上班“划水”向阿里猛投简历,两次被刷后,终成“菜鸟”P6