• 我比较熟悉什么样的简历通过概率高,大致有以下几个方面。

    先说Java开发类

  1. 基本功:阿里主要是Java技术栈,那么对JDK需要有比较熟练的理解和使用,重点内容有:集合、多线程、io、异常、反射、注解、序列化、反序列化等知识。其次就是网络和数据结构,网络至少知道三次握手,四次分手,https,get,post等。数据结构有时候会问一下红黑树,平衡二叉树等等。如果了解redis,还可以聊下跳跃表,前缀表。操作系统和网络方面问的不多,一般就问一些具体工作中才会碰到的cpu过高、稳定性问题的排查与定位解决思路。
  2. 中间件框架:现在基本是使用SpringBoot那套,以前还有webx3这种老框架,但已基本处于维护状态。所以SpringBoot的常见问题要理解,譬如启动生命周期、bean的初始化流程,如何解决循环依赖问题,ioc、aop等。缓存,不论是redis还是memcache或者其他,至少要熟练,能了解底层数据结构和实现原理,常见的使用方法。数据库,这个就mysql或者oracle要熟悉一种,数据库一般知道分库分表实现,数据库备份,数据库事务,数据库和缓存一致性,数据库索引,锁机制等等。rpc也是阿里这边使用比较多的一种,所以常用rpc框架可以了解一下,优缺点,rpc的原理要懂,如果有时间自己可以试用一下netty实战。MQ是一个重点知识,一般会问消息的幂等性,事务性实现,如何保证不丢消息等,要熟练使用一种消息队列,了解原理。ZK有时问有时不问,这个要看下,尤其是分布式协调器,很多时候在分布式系统中用ZK来保证强一致性的问题。
  3. 设计题:给定一个特定场景,让你去做,如果是架构设计,一般是高并发,如果是数据库设计,一般看你对数据如何设计能够方便查询。
  4. 理论题:一般这种就是看你对现在常用的分布式理论的理解,一致性协议,分布式Cap,Base理论,服务降级,熔断,restFul接口等等。
  5. 项目:这个是重点,如果候选人连自己做的项目都讲不清楚,基本就没什么希望过了,所以一定要想下自己简历中的项目,有什么难点,解决什么问题,架构有什么调整,为什么这么做,最后结果怎么样。如果做的比较久,一般是分几个阶段来描述,每个阶段目标是什么,为什么这么做。这样会显得思路清楚一些。
  6. 手写代码:代码考核是进入美各大公司所必须准备的,所以这个就要刷刷题,leetcode,有时间逛逛,你值得拥有。

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

再说安全工程师类水平要求

  1. 基本功:常见的漏洞类别有哪些,OwaspTop10,可能会追问其中漏洞原理、漏洞危害、漏洞写法、常见攻击手段。除了常规OwaspTop10外,还有哪些典型逻辑漏洞类别,典型鉴权漏洞的写法,常规风险和危害,修复方案,典型绕过方法。若是安全算法方面,可能会问监督性算法、非监督性算法原理机制,优缺点,在安全领域的落地使用中会碰到的实际问题。黑白盒扫描在实际应用过程中会碰到的问题与难点,黑盒扫描如何控制风险避免带来稳定性故障。
  2. 中间件框架:若是白盒扫描相关,同上Java还是有一些共性的,额外多出来的就是对Java反序列化本质的理解,包含Json反序列化、XML反序列化、Yaml反序列化等等原理与细节。尤其是对Fastjson常出漏洞而Gson不怎么出漏洞原理的理解,如何自动化发现一个新的Gadget攻击链,给一个潜在MQ系统和服务发现系统(如Dubbo),可能从哪些方面考虑挖掘出新的CVE漏洞。
  3. 设计题:给定一个特定场景,譬如某某公司现状怎么样,碰到了什么问题,问你安全体系怎么建设,先做什么,后做什么,为什么要做,关键里程碑如何确定,如何衡量结果有没有达到,一般是看这个人的思维方式是否活跃,逻辑是否能讲得通。其中面试官会给一些实际工作中会碰到问题的挑战,看是否有实际经历过。
  4. 项目:同上面Java开发岗,一般符合STAR原则(背景-任务-行动-结果),其中难点是什么,解决了什么问题,碰到什么幺蛾子,后来如何解决,为什么这么做,最后结果怎么样

    广告位

  5. 最后表明一下,阿里正在招募FY22的实习生,实习生要求不会那么难,假如上面问题都懂能达到社招P7水平通常都是阿里星(大人才)了。详细自助报名见下面资料,现在Java开发和安全工程师都有大量岗位开放。其他岗位是否还有,可微信7908300联系我。

【20210314】java达到什么样的水平才能社招面进阿里 - 图1

  1. 有同学问社招还要不要,要的,可微信7908300联系我。

作者:安全乐谷
链接:https://juejin.cn/post/6939498544197795847
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。