程序员的要求~~
来源:互联网 发布:如何学做淘宝网店 编辑:程序博客网 时间:2024/05/09 06:27
作者:用心阁
链接:https://www.zhihu.com/question/51569919/answer/126715265
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
怎样才是一个进阶水平的Java程序员呢?
链接:https://www.zhihu.com/question/51569919/answer/126715265
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
- 熟悉常用的数据结构,包括数组,链表,树,哈希表等。
- 熟悉结构化编程和面向对象编程。
- 能够阅读UML设计图,根据UML语义进行编码
- 了解RDBMS和SQL的使用,包括DDL和DML,理解数据库事务(ACID),锁和死锁。
- 熟悉Java语法特性,正确理解多线程,同步,临界区,线程安全,异常,泛型等。
- 了解常用的Java库,比如java.lang,http://java.io,http://java.net,java.util,java.sql,javax.xml,
- 能够看懂中英文javadoc,快速上手新的类库和框架。
- 熟悉Java Web编程,如Servlet,Spring,以及ORM框架。
- 熟练使用Java IDE如eclipse,尤其是能够调试错误。
- 会使用构建工具如Ant,Maven构建项目。
- 会使用JUnit开发单元测试用例,能够使用代码覆盖率工具如EMMA检查测试的覆盖率
- 如果能够使用代码调优工具提升代码性能更好
- 如果能够使用静态检查工具如PMD检查代码中的问题会更好
- 如果能够了解JVM的机制,如垃圾回收,类加载会更好
怎样才是一个进阶水平的Java程序员呢?
- 掌握面向对象的需求分析和设计
- 理解SOLID原则,理解常用设计模式,熟练掌握重构
- 理解面向服务的架构
- 理解Linux操作系统的一些概念,比如内核空间,用户空间,系统调用,命名管道,Unix Domain Socket,
- 熟悉Linux下命令行工具。
- 深入理解进程,线程。
- 了解Java内存模型
- 了解Java的并发包,如锁,读写锁,Barrier,Executer和Future
- 了解Java 8的Lambda表达式和Streaming API
- 理解TCP/IP协议族
- 理解HTTP协议和REST API
- 理解多路复用和非阻塞IO
- 熟悉Socket编程,能够使用网络框架如netty开发服务端程序
- 掌握RPC框架的使用,比如RMI,Thrift,Dubbo
- 掌握消息队列的使用,如JMS,ActiveMQ等
- 掌握分布式缓存如memcache,Redis的使用
- 了解代理和负载均衡如Nginx的使用
- 熟悉分布式KV存储如zookeeper,etcd等,理解选主和分布式锁
- 会使用Mock框架进行单元测试
- 了解性能方面的知识,如吞吐量和时延。
- 能够进行执行性能测试,收集性能数据并进行分析。
- 了解安全性相关的知识,比如私密性(加密和解密),完整性(消息认证),不可否认性(签名和验签),身份认证,授权,传输层安全(如SSL/TLS),数字证书和PKI体系
- 了解可用性相关的知识(,如可用性指标,如MTBF,MTTR,和高可用的实现,如主备。双活,负载均衡
- 了解容错性,容灾和故障转移
0 0
- 基本的程序员要求
- 程序员的要求~~
- 外企JAVA程序员的要求
- 程序员对类的要求
- 做一个程序员的要求
- 一个成功程序员的要求
- 合格程序员的最基本的要求
- 常见的C++程序员职位要求
- 某公司对IT程序员的要求
- PHP对程序员的要求更高
- 程序员如何应对公司的无理要求?
- 看了一个招聘程序员的要求
- 一个男程序员的结婚要求
- 女程序员们的结婚要求
- PHP对程序员的要求更高
- PHP对程序员的要求更高
- 程序员如何应对公司的无理要求?
- PHP对程序员的要求更高
- nmap常用命令
- Java并发编程之四:守护线程和线程阻塞
- 三大框架SSH成长路程(十四)
- 使用ssh的反向隧道管理内网路由器
- unicode和utf8之间的关系
- 程序员的要求~~
- Android 开发程序员必备网站
- 教你用这个技巧问薪资,HR不反感!
- 七年电商路,九条运营心经!
- 超级账本PBFT(拜占庭容错)算法详解
- Java 生产者和消费者
- Postgresql数据库的一些字符串操作函数
- mybatis查询日期范围的记录数
- 怎样在 Ubuntu 中修改默认程序