非科班普通本科是如何在人才辈出的年代成功入职阿里?(面试经验,建议收藏)
Posted Java架构-大仙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非科班普通本科是如何在人才辈出的年代成功入职阿里?(面试经验,建议收藏)相关的知识,希望对你有一定的参考价值。
说一说作为我应届时的面试经验吧,大概是投了7家最后过了一家。网易、腾讯、美团、蚂蚁金服、滴滴、京东、百度
我记得百度、腾讯和美团简历直接被筛选掉了。蚂蚁金服、京东、滴滴分别在二面、一面、四面就挂了。后面就一直在准备阿里的这根独苗,准备面试一起是将近一个月时间,每天除了睡觉就是刷题。可能没有人知道这段时间我到底经历了什么
当然最后所有的努力还是没有白费,在最后的独苗凭借着运气踏进了阿里的大门,作为非科班普通本科出门的我已经非常满足了
阿里一面
- 自我介绍(个人信息:一分钟说完了);
- 抽象类和接口的区别(Java核心技术:全部讲了一通后,抛出第三个问题)
- 抽象类内方法如果全部是抽象的,是不是就是接口?为什么有的类继承一个类后,还要实现多个接口?(Java核心技术:我说了个接口隔离原则,实在不知道他想要啥答案)
- 多线程中,线程池用过哪些线程池?(多线程并发:没用过,讲了一些自己了解的);
- 线程池中所有的参数讲解一下(多线程并发:corePoolSize,maximumPoolSize,Factory之类的扯了一通)
- 线程池中从corePoolSize到maximumPoolSize转变过程,然后一直问我反向转变的操作(多线程并发:就是并发量突然降低了,这个过程怎么实现的,参数如何变化)
- HTTP发送请求和接收响应的整个流程;(web技术:扯了一下客户端和服务端之间的流程)
- 403和500状态分别讲解一下,他们之间有什么区别;(web技术)
- 淘宝里如果按照1-5星的店面,从五家店里一共推送出10个同一类产品,都是随机推送,但是最后大量的随机测试后,要保证五颗星的店家推送的商品数量大概是一颗星店家推送的商品数量的五倍,且不能破坏其他概率输出(思维能力:这个问题跟他讨论了有10几分钟,最后他问我有没有优化。。。我哪知道怎么优化)
- 一个已知存储了数据的HashMap中如何让所有的键修改成"阿里+原来的键",意思是在所有的key中添加"网易"这个前缀。(Java核心技术:我说迭代处理,但是会有fail-fast问题,然后我就瞎扯了同步操作一下)
- spring的AOP原理和底层实现(框架技术:扯了一下概念和反射机制)
- Spring的注解讲一下;(框架技术)
- 静态代理和动态代理区别讲一下;(Java核心技术)
- 静态代理和适配器设计模式的区别;(Java核心技术)
- tcp和udp的区别;(计算机网络知识:就从可靠性,通讯方式,数据大小,应用方面说了说)
- cglib底层实现;(框架技术:懵逼)
- 数据库的乐观锁原理和实现;(数据库:懵逼)
阿里二面
- 上来问我项目用的框架,然后问我springmvc里面有的参数的设定,问的是细节,然后问我如果传的多个值是一个对象的属性,问我如何处理,我说直接在后端接收为对象就行了,然后突然问我http怎么传对象,这里有点不明白面试官想问啥,然后就换别的问题了,可以序列化对象为二进制数据,然后在http1.1以上版本传输即可,然后再进行反序列化
- 数据库索引都有哪些,介绍一下,然后面试官就问我说话的漏洞,感觉会抓住某一个比较突出的词来逼问,这里除非特别清楚,否则就被问死了,我这里有点虚,回答的有点犹豫, b+树,hash索引,b树索引
- 数据库事务,然后问我mysql三个select不显式声明事务,他们每一条是个事务吗?这里记得有点不清楚,就是问不显式声明事务,select是一个事务吗 默认autocommit,每一条都是是一个事务
- 乐观锁和悲观锁,我说到了cas,然后问我java中有哪些地方用到了cas,然后我说concurrenthashmap,然后是咋用的,这个类是怎么保证线程安全的,他还说了一个put啥东西我没注意,就说不知道。 chm,原子类,AQS等。
- chm在put操作没有冲突时进行cas尝试,直到成功。
- 原子类使用cas执行自加自减操作防止并发问题。
- AQS的修改state也是使用了cas操作。
- 问我序列化,然后问到了远程方法调用,我说没接触过 序列化主要是把对象压缩成二进制数据,进行网络传输,rpc就是基于序列化和网络通信编程实现的。
- 问我项目是练手还是买钱,他笑着对我说,我也笑了
- dao层是model层吗?这个以前没注意,就说是,也不知道对不对,记得以前面试好像有面试官问我model和pojo的区别
差远了。dao是数据持久化层,负责数据库操作,model负责数据模型 - 索引在什么情况下会失效,这个当时有点激动,想了一下没说出来,有点遗憾, 前缀匹配,没用用到,函数,判空,<>等
阿里三面
- 简单说说在学校做过最有成就感的事情(和技术相关的)
- 开发了一款游戏,搭了一个人博客,写了博客集,做了3个项目。并且在GitHub上有长期记录。
- 你的项目用到了数据库,谈谈对事务的理解
- 事务保证一致性,原子性,隔离性和持久性。
- 假设你要做一个银行app,有可能碰到多个人同时向一个账户打钱的情况,有可能碰到什么问题,如何解决(锁)
- 可能到时同时修改,导致有人修改失败,汇款出现问题,解决方式就是事务或者使用锁。
- 说说乐观锁和悲观锁
- 乐观锁在数据库中就是MVCC,悲观锁就是行锁和表锁。innodb支持行锁,在索引上加锁
- 最近在看什么书
- 大数据,zookeeper,netty。大型中间件,大型分布式,大型网站
- Java基础(就问了一句==和equals)
- 说说现在能写出来哪些排序算法
- 在学校有没有参加社团之类的
- 给定一个文件名,如何在d盘找出来这个文件,说说思路。
- 使用操作系统查找。find -name,locate,whereis
阿里四面
- 自我介绍
- 项目介绍
- 做这个项目的动机
- TCP UDP IP ICMP
- 知不知道一个应用层协议,运输层既没有使用TCP,也没有使用UDP
- 二叉树中求最长路径。
- 递归的方式去实现。
- 有什么想问我的吗?
五面(HR面)
- 平常怎么学习的
- 兴趣爱好
- 觉得自己前面几轮面试怎么样
- 除了Java还研究过其它什么技术(我说AI,区块链)
- 跟我介绍一下区块链~
- 怎么看待国内区块链的发展
- 跟我说一下你认为最具有挑战性的项目
- 问我还参加了什么公司的招聘
- 如果有网易游戏,腾讯,阿里的offer你会选择哪个
- 英语10分钟交流(瞬间懵了,这里估计是部门有英语交流要求)
愿各位早日拿到心仪的offer,我是大仙,欢迎大家关注我!!
以上是关于非科班普通本科是如何在人才辈出的年代成功入职阿里?(面试经验,建议收藏)的主要内容,如果未能解决你的问题,请参考以下文章
应届本科生凭借一份神级 SpringBoot 学习笔记,成功入职阿里
2021 春招面试经历,阿里 3 轮技术面 + 交叉 3 面(已成功拿到 offer)
Java校招面试——非科班 阿里3技术面 2交叉面 1代码面 1HR面 现场揭秘
一个非科班出生Java程序员的阿里之路:JVM+分布式+Spring+数据库