阿里巴巴篇mysql
· 扎实的计算机专业基础,包括算法和数据结构,操做系统,计算机网络,计算机体系结构,数据库等linux
· 具备扎实的Java编程基础,理解IO、多线程等基础框架nginx
· 熟练使用Linux系统的经常使用命令及shell有必定了解程序员
· 精通多线程编程,熟悉分布式,缓存,消息队列等机制;熟悉JVM,包括内存模型、类加载机制以及性能优化web
· 精通spring mvc、orm框架(ibatis或hibernate)、模板引擎(velocity)、关系型数据库设计及SQL面试
· 具有良好的面向对象编程经验,深刻理解OO、AOP思想,具备很强的分析设计能力,熟悉经常使用设计模式redis
· 有大型分布式、高并发、高负载、高可用性系统设计和稳定性经验算法
· 熟悉面向对象设计开发,熟悉各类经常使用设计模式,并有在具体的应用场景落地经验spring
· 熟悉Spring、iBatis,等开源框架及消息,存储等经常使用中间件。 有通读过开源框架源码
· 熟悉基于Oracle或者Mysql的设计和开发、Linux操做系统
· 熟悉SOA,有平台化实施经验者,有大数据量、高并发系统和大型网站构建经验
· 分布式系统应用架构设计与研发经验,精通Java EE、SOA、OSGI等相关技术
· 对各类开源的框架如Spring、Hibernate等有深刻的了解,对框架自己有过开发或重构者可优先考虑
· 具备大型电子商务网站、O2O行业、C端产品系统架构设计经验
百度篇
· 熟悉常见设计模式,掌握java流行的开源框架SpringMVC/Spring Boot/Spring Cloud,熟练使用至少一种 ORM 框架
· 熟练掌握基本的数据结构和算法,有系统分析和设计的实践经验
· 熟悉Rest,HTTP,Socket、webservice、HTTP协议,具有并发、多线程的编程经验
· 对Mysql、Redis、MongoDB 等数据库有研究或者项目经验
· 具备大型互联网服务设计及开发经验
· 熟悉JVM,对JVM有必定理解,并能借助相关工具进行JVM性能调优
· 熟悉常见的开源分布式中间件、缓存、消息队列等,熟悉nginx,MySQL,Redis,mongodb 等经常使用的开源软件
· 熟悉 MySQL 数据库设计和优化,有 NoSQL 数据库使用经验
· 具备大数据存储或者高性能计算平台架构、设计及开发等方面经历
· 具备大型互联网服务设计及开发经验
腾讯篇
· 精通Web后台开发语言至少一种(PHP、Java、.Net、C++),有必定的架构能力和良好代码规范
· 熟悉linux/unix系统与开发环境
· 熟悉TCP/IP协议,socket编程
· 熟悉mysql以及SQL语言
· 有高性能大容量服务系统设计开发经验
· 精通面向对象设计,精通J2EE开发,java web开发
· 全面而且扎实的软件知识结构(操做系统、软件工程、设计模式、数据结构、数据库系统、网络安全);
· 具有良好的分析解决问题能力,能独立承担任务和有系统进度把控能力
· 精通MySQL或Mongo DB,熟悉缓存技术memcached、redis
· 有大型分布式、高并发、高负载、高可用系统设计、开发和调优经验
· B/S结构系统分析及设计经验,有构建可伸缩、可扩展、高可用系统经验
· 有良好的开发习惯,熟悉Maven, Jenkins, JUnit等工具
· 精通MVC/REST架构、模板引擎、中间件的原理与应用
· 熟悉MySQL数据库,了解MySQL索引优化、查询优化和存储优化
以上这些都是我去这三家公司面试回来后总结出来的技能要点,若是有兴趣能够继续往下观看我提供的学习路线,能够帮助你顺利进入这三家公司:
(Java程序员的进阶之路以下)
1.阅读源码
阅读源码
2.1分布式架构
分布式架构
2.2分布式架构
分布式架构
2.3分布式架构
分布式架构
3.微服务架构
微服务架构
4.并发编程
并发编程
5.性能优化
性能优化
6.DevOps
DevOps
电商项目实战