阿里新零售的面试全过程:
一、笔试部分 3.25:
第一题只过了50%。下午来了电话约第一轮面试,第一面就是主管面:P8
二、第一轮面试 3.28 60min:
- 问学校的经历、你的角色
- 怼项目、项目的背景、难点和技术方案
-
TreeMap和HashMap的区别、HashMap把链表替换成数组怎么样、为什么要替换成红黑树
-
sychronized的原理和可重入锁的区别、底层原理
-
分布式的知识、CAP啥的,Redis的一些场景题
-
常用的排序算法 时间复杂度,复杂度怎么计算的,原理
-
缓存的实现、linkedHashMap的原理、项目的优化、知不知道分布式缓存、
-
A有50块 B有50块 但是数据在两个库上,怎么进行操作、保证一致性(除了分布式、还有没有其他的解决方案)
-
Redis集群下路由的选择,如何更高效(应该是Nginx吧)
- 如果你自己实现rpc,你会考虑哪些方面
- 索引的优化、分析SQL的时候你会关注的字段、索引的选择
- Long 和 long的区别和 == 的比较 (是值比较)
-
大数据了解吗?后面的职业规划
三、 第二轮面试 3.29 :
这一轮主要是做了三道题目 ,1.5个小时、可能是因为第一轮是主管面完了、所以这一轮很简单、没问技术性的问题。考察的是解题时的一些对特殊情况的考虑
做完之后就多打电话来交流一下
1 数字反转,比如:123456 转换完数字是 654321 public static Long reverse(Long bi) { } 2 实现一个特别的金额处理方法,返回最接近的形如*.49,*.99的人民币数值。常用于超市打折场景。如输入 12.1,输出 11.99;输入12.311,输出12.49。输入12.74,输出12.99。 3 用户有多种支付方式(余额、红包、优惠券,代金券等),假如每种支付方式通过调用远程服务获取可用性。在外部资源环境不变情况下,请设计程序以最短响应时间获得尽可能多的可用支付方式列表。假定支付方式可用性咨询接口统一为: ConsultResult PaymentRemoteSerivce.isEnabled(String paymentType); 返回结果public class ConsultResult { /** 咨询结果是否可用*/ private boolean isEnable; /** 错误码 */ private String errorCode; } java实现接口: class paymenClass{ /** * 过滤不可用支付方式类型 * @param paymentTypeList 原始支付方式类型列表 * @return 可用支付方式类型列表 */ public List filterDisablePayment(List allPaymentList){ //TODO 写出代码实现 } }
四、第三轮面试 4.2 50min:
感觉是交叉面、面完感觉心态炸裂了。。。 面完很久都不敢去听、答地稀巴烂。。现在听还有阴影。摧残也是一种锻炼吧!!!
- 首先问项目的相关细节
- 根据项目的登录流程
- 项目中表单的提交方式,使用的是HTTPS还是HTTP。
- 问了些rpc的了解、对称加密算法和非对称加密算法的区别。自己答快了,直接回答了不知道。。。
- rpc框架的架构是怎样的
- 你会如何来实现单点登录,讲了下大体的区别、自己在这个地方卡在了一个安全的问题上,说了很久也没解决
- 问了数据库的隔离级别、mysql是如何解决幻读的问题的、间隙锁的加锁规则、为什么选择读已提交
- 项目中缓存的设计、怼了一下这里的应用场景
五、第四轮面试 4.8 48min:
- 首先问了项目、项目中的算法的原理、方案的选择、遇到的问题是如何解决的、说了自己项目中存在的问题
- 问了些在学校的组织中的角色、自己的职责
- 项目中缓存模块的实现、linkedHashMap是线程安全的吗
- 如果你来设计Tomcat你会怎么做???问了一个request过来你是如何处理的
- 分布式的Spring Cloud有了解过吗?
- 问了下数据库的事务
- BIO和NIO的区别
- spring mvc 和Servet的关系
六、HR面试 4.16 :
今天上午视频面试,因为HR面试延后了一小时
问了些基础的问题,自己在学校在中的角色,职责,项目中的职责,难点。自己的优点、投递了哪些公司、想在哪工作、现在到实习之前这段时间的计划、反问。
面试时间太短了,有点慌 。希望能顺利上岸吧!!!
祝各位牛友都能如愿上岸吧!!!
全部评论
(6) 回帖