热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java达到什么样的水平才能通过阿里社招?分享5面阿里的经历

刚刚入职阿里不到一个月(新零售方向),所以还是比较清楚之前都准备了啥,部门也在招聘,所以问了下那些招聘的同事主要看什么点。对于社招,我之前做的准备有以下几个方面:1.基本功:阿里主

刚刚入职阿里不到一个月(新零售方向),所以还是比较清楚之前都准备了啥,部门也在招聘,所以问了下那些招聘的同事主要看什么点。对于社招,我之前做的准备有以下几个方面:

1.基本功:


阿里主要是java方向的,那对jdk要比较熟练的理解和使用,重点内容有:集合,多线程,io,异常,反射,注解,序列化,反序列化等知识。其次就是网络和数据结构,网络至少要知道三次握手,四次分手,https,get,post等。数据结构有时候会问下红黑树,平衡二叉树吧。如果了解redis的,还可以聊下跳跃表,前缀树吧。操作系统问的不多,一般就是问下实际中有没有出现过cpu过高或者内存过高的情况,然后怎么定位解决。

2.中间件框架:

现在这边也是基本spring那套,所以spring的常问题目要了解。比如启动过程,bean的初始化流程,bean的生命周期,如何解决循环依赖问题,ioc,aop等。 缓存,不论是redis或者是memcache或者其他的,至少要有一个比较熟练的,能了解底层数据结构及实现原理,常规的使用方法。数据库,这个就mysql或者Oracle要熟悉一种,数据库一般要知道分库分表的实现,数据库备份,数据库的事务,数据库和缓存的数据一致性,数据库的索引,锁机制等等。rpc 也是阿里这边比较使用多的一种,所以常用的rpc框架可以了解下,优缺点,rpc的原理要懂,如果有时间自己可以基于netty写一个实战一下。MQ也是一个重点知识,一般会问下消息的幂等性,事务性实现,如何保证不丢消息等,要熟练至少一种消息队列,了解原理。zk有时问有时不问,这个有时间也可以看下,毕竟这是分布式协调器,很多时候在分布式系统中都会使用zk来保证强一致性的问题。

3.设计题:

这种一般会给定某个特定场景,让你去做,如果是架构设计,一般就是高并发。如果是数据库的设计,一般看你对数据怎么设计能够方便查询。

4.理论题:

一般这种就是看你对现在一些常用的分布式理论的理解了。一致性协议,分布式cap,base理论,服务降级,熔断,restful接口等等。

5.项目:

这是个重点,和我同事聊天发现,他如果觉得连自己做的项目都讲不清楚的话,基本就没希望过了,所以一定要想下自己做的项目,有什么难点,解决了什么问题,架构有什么调整,为什么这么做,最后的结果是什么。如果做的比较久,一般还是分几个阶段来描述,每个阶段的目标是什么,为什么这么做。这样会显得思路清楚一点。

6.手写代码:

代码考核是进入每个大公司都需要准备的,所以这个就是要刷刷题,leetcod,有时间逛逛,你值得拥有。

其实每个公司面试都差不多,当然了,如果要面试更高的档次的话,一般还有你对行业的了解,对行业的看法。

我的五面经历

阿里的面试还是比较难的,尤其是后面的专家面,基本是一个问题接着一个问题的。相比较于腾讯和字节的面试来说,阿里的面试在于coding比较简单,一般是三道题,一个小时,一道算法题,一道设计模式题,一道多线程事件等待通知,其他的都还好。下面给出阿里的面试题目:

阿里一面:(电话 面试)


  1. 项目介绍

  2. 项目中分库分表的实现,怎么实现聚合查询

  3. 项目中怎么保证只提交一次,http请求的幂等性

  4. Jdk的双亲委派模型,如何破坏双亲委派模型

  5. 分布式锁的使用场景和原理,项目中是否有使用

  6. Java多线程了解么

  7. Mysql的索引介绍一下,在什么条件下索引失效,解释下最左前缀原则

  8. 进程的内存占用过高,要怎么排查

  9. Spring aop的实现原理

  10. 有什么想问的

阿里二面(在线笔试题):

1个小时三道题,不允许使用idea,只能手写,所以有些函数会写错,在旁边注释下


  1. leetcode原题第三题

  2. 设计模式策略模式的实现

  3. 多线程的等待通知的使用

阿里三面:

面试官有事直接到下一面了,幸运

阿里四面:(电话面试)


  1. 项目介绍,问的很详细,细节问题,优化点,如何优化的,性能对比,怎么实现的

  2. rpc框架熟悉么,有了解哪些rpc的架构,分别说说优缺点,因为项目用了grpc,重点介绍了下这个框架

  3. grpc的序列化protobuf知道是怎么实现序列化后很小的,有了解过底层的原理吗?

  4. 你们项目用的是Redis哪个版本 ,知道其新特性么?为什么选用这个版本?

  5. Redis有几种部署方式,哨兵机制和集群的区别是啥?

  6. 有什么想问的么?

  7. 薪资和来杭州的意愿

阿里五面:(视频面试)


  1. 项目介绍

  2. 项目中是如何设计数据库的,其分库分表实现细节?要具体到代码是怎么实现的?

  3. 你刚刚提到的一致性hash算法能描述下么?

  4. 在项目的过程中,你们项目是一个怎么样的演进过程?每年分别做了什么事情?

  5. Netty的线程模型描述一下,口述一下一个netty的服务端启动流程?(需要知道代码是怎么实现的)

  6. 怎么实现一个加锁的生产者消费者模型?口述一下condition的使用,消费者和生产者的代码

  7. 线程是怎么被唤醒的?

  8. 将AQS和condition中的等待队列和同步队列描述清楚

  9. Rpc了解么?说下rpc的流程

  10. Zookeeper在rpc框架中的作用?

  11. Zookeeper的写入过程是怎么实现的?

  12. 有什么需要问我的么?


我的学习资料

学习java没有捷径,是一个孰能生巧的过程,通过不断地练习,把基础学扎实,一步一个脚印的逐步学习。

对我帮助最大的一份文档:

这份文档其实不用多说,单从目录就可以看出他的含金量了!

Java达到什么样的水平才能通过阿里社招?

大厂面试题:

Java达到什么样的水平才能通过阿里社招?

Java架构师笔记:

篇幅受限,无法全部展示出来,只能截图展示部分,还是那句话行动起来,做个向上的爱学习的人,你学的早就比别人好。赶紧【见下图添加上小助手即可免费】把资料一并带走了!

学习不用很难,只要你找对了路线,上面这几步足够了!


推荐阅读
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
  • 多线程补充(一)JVM内存结构 VS Java内存模型 VS Java对象模型
    一:Java内存结构参考:https:www.zhihu.comquestion64586462answer576543433内存结构࿱ ... [详细]
  • Java开发面试问题,2021网易Java高级面试题及答案,实战案例
    前言大厂面试真题向来都是各大求职者的最佳练兵场,而今天小编带来的便是“HUAWEI”面经!这是一次真实的面试经历,虽然不是我自己亲身经历 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • modulepaddle.fluidhasnoattributedata解决:pipinstallpaddlepaddle-gpu1.7.0.post107-ih ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • windows平台使用NSP拦截具体进程的域名解析过程(xFsRedir的代理功能之域名代理)
    byfanxiushu2022-10-17转载或引用请注明原始作者。xFsRedir软件其中之一的功能就是实现了全方位的网络代理,从主机代理,到本地代理 ... [详细]
author-avatar
zaizaiwaipo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有