Java后端开发工程师

后端意味着服务器, 分布式, 数据持久, 并发.

  • J2EE: Servlet, JDBC, JPA, Spring, Hibernate,
  • Vert.x, Akka: 基本把握,还需要深入学习?
  • Java language: Generics, Streaming. JDK, JVM, Concurrency, JIT, Bytecode
  • Message Queue: 比较弱。 Openstack的RabbitMQ,ZeroMQ
  • Web Server, Netty: Netty有了一定层度的了解,深入学习。
  • Database: Postgres还可以, Set Path不足。
  • Cache: 弱,memcache, redis, hazlecast?
  • Design Pattern: 不熟练。
  • OOP
  • OS: Linux Kenerl:有一定的提升,但是还是比较一般。
  • TCP/IP: 经过Openstack,epoll的历练和比特币技术的学习,相关知识基本够用。
  • UML
  • Distributed System, Cluster: 学习过一些:Ceph, GFS, HDFS有关底层存储的分布式,在线业务的分布式, mongoDB?
  • Web: JavaScript.
  • 性能测试框架, 工具,Profling 工具。 基本指标。基本前提(CPU, 硬盘,带宽)
  • 质量管理,功能测试,单元测试,集成测试,CI测试, 系统测试。如何保证系统如期发布和运行?bug管理?
  • Github, Jenkins流程? 都要会啊。
  • Docker技术? 学Docker和Linux可以结合起来。虚拟化技术, Openstack获取一些。
  • 系统的可诊断性。Log,data collection.
  • 提高生产率的技术。Bash脚本,Python。

Urgent goal: How to be a Architect&Tech Lead.

  • 系统设计与权衡: 什么系统, 分布式?
  • 技术栈的选择,技术栈的迁移
  • 业务和架构的调和
  • 团队沟通

日常工作原则:

  1. 写出清晰的代码,理清代码逻辑
  2. 回答难以搞清的技术问题
  3. 能够解决复杂的bug
  4. 理清系统架构,有架构层的视野,知道架构的优缺点,权衡利弊;对于新系统,提出架构。识别设计缺陷,修复设计缺陷。
  5. 逻辑性,清晰地分析bug, 沟通bug
  6. 清晰,高效地沟通技术问题,推动解决技术问题。
  7. 能够提出新的想法,并实现它。
  8. 快速搭建系统,POC的能力
  9. 新技术的把握能力。

results matching ""

    No results matching ""