良好的开发基础,精通Java语言基础,熟练掌握多线程开发技术,java
对于Java基础技术体系(包括JVM、类装载机制、JUC、NIO、网络)有深刻的理解和实践经验;linux
熟练掌握经常使用Java技术框架,能编写高质量简洁、清晰的代码;nginx
熟练掌握JVM内存管理、类加载机制等;算法
熟练掌握Java系统的故障排查和性能调优技能;数据库
熟悉基本的算法和数据结构,理解代码背后的时间和空间;掌握经常使用数据结构、常见设计模式,拥有领域模型抽象能力设计模式
用过的开源框架,能了解到它的原理和机制;深刻研究或参与过一些Java开源项目的优先考虑;缓存
熟悉底层中间件、分布式技术(包括RCP框架、缓存、消息系统、热部署、JMX等),对CAP定论有深刻的理解性能优化
熟悉网络协议(例如TCP/IP, HTTP, HTTPS, DNS等)网络
熟悉linux系统,掌握基本的linux使用命令;熟悉Linux平台运维及Shell的编写;数据结构
熟悉 nginx,MySQL,Redis,Hadoop 等经常使用的开源软件
精通 MySQL 应用开发,熟悉数据库原理和经常使用性能优化技术,以及 NoSQL,消息队列 的原理、使用场景以及限制;
较强的复杂问题分析和解决能力
有激情和责任心,积极主动,具备良好的团队协做和对外沟通能力
拥有和工做年限相称的广度和(或)深度,有较强的逻辑/几率思惟能力,善于分析、概括、描述、沟通、和解决问题;
中小型项目的系统分析、设计,并主导完成详细设计和编码任务,确保项目的进度和质量,可以在团队中完成code review,确保相关代码的有效性和正确性
-----------------------------------------------------------------
补充:各大公司对基础的要求都比较统一,java基础扎实、编写高质量、易维护的代码;linux也是基础;使用框架的同时,要了解其原理和机制等。
其实,上述要求并非一家公司的要求,而是多家公司整理后堆在一块儿,能掌握其中60% ,就能够拿到25+的一线互联网的工做,但仍是最好有一项或几项特别突出的点,好比对jvm有深入的认识。。因此,加油吧!