What programmers need to learn

The knowledge that developers need to have is as follows: 

1 Master the java language, familiar with IO, collection, multithreading, concurrency control

 2 The development tool eclipse is enough, master SVN, Maven+

 3 Project Management Jenkins

 4 Master the framework SSH, SSI, Freemarker, Velocity, Webservice, etc.

 5 Master database Oracle, Mysql, Redis, MongoDB

 6 Master web server, tomcat, jboss, weblogic

 7 Mastering Object Orientation and Modeling with UML

 8 Master the use of front-end and back-end unit testing

 9 Master front-end technology javascript and javascript frameworks such as jquery, master html, css

 10 Familiar with distributed, static, transaction, cache, message, load balancing

 11 linux  is familiar with  shell writing  at work

==========================================================

It used to be a large frame structure, which is subdivided below

1 Distributed

Distributed framework, more commonly used webservice, hession, cxf

Distributed framework, the more commonly used Jta implements jotm, but more is to use messages to resolve the eventual consistency

Distributed cache, more commonly used memcached

Distributed message, more commonly used activeMq

2 linux and server configuration

  Install and configure SVN, Maven private server, web server load balancing, management tools on linux

3 Database

   In database optimization, sub-table, partition, sub-library (horizontal/vertical), read-write separation

4 About concurrency

  now popular jetty

5 Safety 

  The security design has permission verification, verification code (picture, mobile phone SMS, etc.), encryption , and frame loopholes

  Business security, server security, database security, etc.

===========================================================

Aspects of concern

1 Usage scenarios

2 Use tips

3 Pit in use, and solutions

4 In-use security, performance, consistency, fault tolerance, load, optimization

============================================================

 The following is a job requirement:

 

1. Responsible for the overall design of the system architecture, the selection of technical architecture, and lead the design of functional modules, data structure, and external interfaces;
2. Undertake the research and development of the core functions of the system; be responsible for tackling key technical problems, system optimization, and assisting in solving technical problems in the project development process;
3. Responsible for the construction of the R&D team and personnel training, and continuously improve the work quality, efficiency and technical ability of the team;
4. Responsible for handling, coordinating and solving technical problems in the company's software research and development; actively understanding industry development, Internet-related new technologies and trends, and planning the company's future technical architecture direction;
5. Ensure the normal progress of the company's research and development work, and ensure that the company's software development plan is completed on time;
6. Complete the formulation of various management systems, technical specifications and business processes related to technology, and be responsible for the review of technical solutions;
7. Responsible for organizing and guiding the operation and maintenance personnel to ensure the normal operation of the system, the comprehensive utilization of information and the security of the system.

job requirements:
1. More than five years of large-scale online trading system design, planning and participation in system operation and maintenance experience, familiar with Java/JavaScript and other languages;
2. Proficient in JavaEE architecture technology for large-scale systems, proficient in common open source frameworks and technologies, such as Mybatis, Struts2, Spring, ActiveMQ, Redis, etc., proficient in using MyEclipse/IntelliJ Idea development tools, and have developed or refactored the framework itself may be given priority;
3. Familiar with the architecture system, database and various middleware technologies of mainstream application servers, such as tomcat, jboss, jetty, websphere, Mysql/MariaDB, Postgresql, etc.;
4. Finely use design patterns and mainstream design tools, and can carry out system modeling and overall design;
5. Familiar with load balancing, caching, network storage, network security, database high-availability design and performance evaluation mechanism of large-scale systems;
6. Have mature experience in massive data, large batch, high concurrency, high performance analysis and processing;
7. Have good document writing skills, writing habits, good abstract thinking and logical thinking skills, and the ability to independently analyze and solve problems;
8. Able to withstand greater pressure, have a sense of responsibility, strong communication and coordination skills, and teamwork spirit.

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326693475&siteId=291194637