点击上方“服务端思维”,选择“设为星标”
回复”669“获取独家整理的精选资料集
回复”加群“加入全国服务端高端社群「后端圈」
刚刚入职阿里不到一个月(新零售方向),所以还是比较清楚之前都准备了啥,部门也在招聘,所以问了下那些招聘的同事主要看什么点。对于社招,我之前做的准备有以下几个方面:
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,有时间逛逛,你值得拥有。
其实每个公司面试都差不多,当然了,如果要面试更高的档次的话,一般还有你对行业的了解,对行业的看法。
— 本文结束 —
关注我,回复 「加群」 加入各种主题讨论群。
对「服务端思维」有期待,请在文末点个在看
喜欢这篇文章,欢迎转发、分享朋友圈
在看点这里