BAT对于Java程序员的招聘要求
首页 > 新闻中心 > 行业资讯>BAT对于Java程序员的招聘要求
2021-11-18 17:06:31
今天小编为java程序员整理出一份面试大厂的技术标准,看看你的差距有多大?
 
BAT对于Java程序员的招聘要求

一.阿里巴巴。
坚实的计算机专业基础,包括算法与数据结构、操作系统、计算机网络、计算机架构、数据库等。
有坚实的Java编程基础,理解诸如IO.多线程等基础框架。
对Linux系统中常用的命令和shell有一定的理解。
擅长多线程编程,熟悉分布,缓存,消息队列等机制;熟悉JVM,包括内存模型。类加载机制和性能优化。
熟练掌握springmvc.orm框架(ibatis或hibernate).模板引擎(velocity).关系数据库设计和SQL。
有较好的面向对象编程经验,对OO.AOP有深刻的理解,很强的分析设计能力,熟悉常用的设计模式。
存在大规模分布.高并发.高负荷.高可用系统设计和稳定经验。
对面向对象设计开发有一定的了解,熟悉各种常见的设计模式,并具有到具体应用场景的经验。
了解Spring.iBatis等开放源码框架和消息、存储等常用中间件。这是开放源代码框架的源代码。
在Oracle或Mysql基础上熟悉.Linux操作系统的设计与开发。
了解SOA,有平台化实施经验,拥有大数据量的数据.高度并行系统和大型网站建设经验。
具有应用体系结构设计和开发的经验,精通JavaEE.SOA.OSGI等相关技术。
对于许多开放源码框架,例如Spring.Hibernate等,具有良好的知识,可以优先考虑框架本身的开发或者重新构建。
拥有大型电子商务网站.O2O行业的C端产品体系结构设计经验。

二.百度
了解通用设计模式,掌握java流行的开放源码框架SpringMVC/SpringBoot/SpringCloud,熟练使用至少一个ORM框架。
熟悉数据结构和算法的基本知识,具有系统的分析与设计实践经验。
了解Rest,HTTP,Socket.webservice.HTTP协议,有并发.多线程编程经验。
拥有数据库研究或项目经验,如Mysql.Redis.MongoDB。
具备大规模互联网服务设计和开发经验。
了解JVM,对JVM有一定的了解,可以借助相关的工具调整JVM的性能。
了解通用的开放源码分布式中间件.缓存.消息队列等等,熟悉nginx,MySQL,Redis,mongodb等常用开源软件。
了解MySQL数据库的设计与优化,以及使用NoSQL数据库的经验。
有大数据存储或高性能计算平台架构的设计和开发经验。
具备大规模互联网服务设计和开发经验。

三.腾讯
熟练掌握至少一种Web后台开发语言(Java\.Net\C++\PHP),具有一定的体系结构和代码规范。
了解linux/unix系统和开发环境。
了解TCP/IP协议,socket编程。
了解mysql和SQL语言。
具有设计和开发高性能大容量业务的经验。
具有良好的面向对象设计、J2EE开发、javaweb开发能力。
完整而坚实的软件知识结构(操作系统.软件工程.设计模式.数据结构.数据库系统.网络安全);
具有较强的分析问题解决能力,能够独立承担任务,并有系统的进度控制能力。
熟悉MySQL或MongoDB,熟悉缓存技术memcached.redis。
存在大规模分布.高并发.高负载.高可用性系统设计.开发与调优经验。
B/S结构的系统分析和设计经验,具有构建伸缩性,可扩展,高可用性的系统经验。
具有良好的开发习惯,熟悉Maven、Jenkins、JUnit等工具。
熟悉MVC/REST体系结构.模板引擎.工作原理及应用。
了解MySQL数据库,了解MySQL的索引优化,查询优化和存储优化。
BAT技术专家,他们的技术能力都需要达到什么水平?
一般都是百度.阿里巴巴.腾讯.BAT的技术专家相当于腾讯T4技术专家.阿里P8高级技术专家,作为第一级Teamleader或第二级域架构师,需要对某一领域的业务非常熟悉,并能将影响推广到其他合作团队。
一般情况下,某些业务架构.应用架构.产品功能决策.技术选择.协作分工等等问题应该在技术专家级别结束,技术专家就是前线的领导者,向下提供决策,向上提供有效信息。

BAT是国内的技术型大厂,因此可参照BAT标准,而对技术专家有什么要求,以下4个小结可供参考。
1.编码能力。
编码功能是基本功能,Java语言本身,包括语言的各个方面,包括并发理解,内存使用的理解,Java操作操作等等,除了语言本身之外,社区中常用的框架还能很清楚地理解,包括spring,包括ioc,aop,orm,web机制是否清晰,具有丰富的经验等。
2.了解常用中间件。
归根结底,在大型系统中,缓存中间件和消息中间件,如redis.memcache.rmq,它们是否存在各种中间件,要了解常见的中间件使用场景,如使用姿势(比如redis的常用命令),甚至包括一些运行操作,发生错误时,除专业操作人员外,还需要您参与检查问题,因为有时这些中间件都是由于不正确的使用姿势造成的。
3.架构.业务方面的能力。
之前谈到了这门语言本身,即各种中间件,如果你具有良好的商业抽象能力和构架思考能力,就能很好地设计和执行一个部门内部的产品。这个设计挺难的,想必都有过接手现有项目的经验吧,有时真恨不得把设计前的设计师拿出来批斗,作为设计人员,你们能不能做到现在一个接管它的人就会说,这套系统真的设计好、稳定、可扩展、易懂。
4.交流和合作。
说到底,一个部门内部的产品,是无法单独完成的,因此需要沟通协作,将设计好的方案,要与2-3位小伙伴一起实施,包含具有相同身份的后台员工,前端员工,产品等,这一层次的人可以包含2-3个人,比如刚毕业,这样你就可以掌握自己的知识,共享精神,leadership是一个不错的加分项目。

假如你也想进入BAT,通过学习技术取得更好的未来,现在就行动吧!

小猫爱学于2011年开始进入教育行业,是一家专注于成人职业培训和兴趣发展的在线教育机构,我们坚持教育不是填满木桶,而是点燃火苗的理念,以兴趣为抓手,挖掘学员内生驱动力,使无业者从业,从业者乐业,服务超百万用户。