Description: I am very sorry, some of the content of the article because the company request has been deleted, we will be in due time through other sites to publish more useful content for everyone.
?? What professional skills do you need to be a qualified Java programmer or engineer, and what do interviewers need to prepare before the interview? The contents of this article can be used as the content of a resume, or as an interview with the interviewer, you can write it to your resume, and, of course, you need to show these professional skills to the interviewer during the interview. This article is believed to be helpful for freshman who are looking for a Java programmer (Java engineer) position and a junior who wants to be a senior Java developer.
Professional skills
- Proficient in the use of the Java language for object-oriented programming, good programming habits, familiar with common Java APIs, including the collection framework, multithreading (concurrent programming), I/O (NIO), sockets, JDBC, XML, reflection and so on.
- Familiar with JSP and Servlet-based Java Web development, the work and life cycle of servlet and JSP in-depth understanding, skilled use of Jstl and El Write script-free dynamic pages, with the use of listeners, filters and other Web Components and the MVC architecture pattern for Java Experience in Web project development.
- In-depth understanding of spring's IOC container and AOP principles, skilled use of the spring framework to manage a variety of Web components and their dependencies, proficient in the management of transactions, logs, security, etc. using spring MVC is familiar with spring's integration of other frameworks as a presentation layer technology and a Web project development experience using the persistence support provided by spring.
- Proficient in using the ORM framework such as Hibernate, MyBatis, and familiar with Hibernate and MyBatis's core API, we have an in-depth understanding of Hibernate's association mapping, inheritance mapping, component mapping, caching mechanism, transaction management, and performance tuning.
- Proficient in web front-end development using HTML, CSS and JavaScript, familiarity with jquery and Bootstrap, and a deep understanding of the application of AJAX technology in Web projects Experience in project development using the front-end MVC framework (AngularJS) and the JavaScript template engine (handlebars).
- Familiar with common relational database products (MySQL, Oracle), proficient in database programming using SQL and PL/MS.
- Familiar with object-oriented design principles, have in-depth understanding of GOF design Patterns and enterprise application architecture patterns, and experience in practical development, proficient in object-oriented analysis and design using UML, with TDD (test-driven development) and DDD (domain-driven design) experience.
- Familiar with the use of Apache, NginX, Tomcat, WildFly, WebLogic and other Web server and application server, familiar with various server consolidation, cluster and load balancing configuration.
- Skilled use of product prototyping tools axure, skilled use of design modeling tools PowerDesigner and Enterprise Architect, skilled use of Java development environment Eclipse and IntelliJ, Skilled use of the front-end development environment Webstorm, skilled use of software version control tools svn and Git, skilled use of project building and management tools maven and Gradle.
Description : The above list of these things are not each of you have to be the heart, according to the specific requirements of enterprise recruitment can do the corresponding targeted preparation. I personally think that the top 6 items should be the minimum requirement and the professional skills that a Java developer must have.
Project Experience Project Introduction
Description: This part of the content has been removed due to company requirements, for more information please click to visit
Project development process
Description: This part of the content has been removed due to company requirements, for more information please click to visit
Project Management
Description: This part of the content has been removed due to company requirements, for more information please click to visit
System architecture
Description: This part of the content has been removed due to company requirements, for more information please click to visit
Third-party tools (plug-in) applications
- Charting tools: jquery-based chart plugins (such as Jqchart, Flot, charted, etc.), chart.js, highcharts, etc.
- Reporting tools: Pentaho Reporting, IReport, dynamicreports, etc.
- Document processing: POI, itext, etc.
- Workflow engine: JBPM, Openwfe, Snaker, Swamp, and so on.
- Job scheduling: Quartz, JobServer, Oddjob and so on.
- Caching services: EhCache, memcached, Swarmcache, etc.
- Message Queuing: OPEN-MQ, ZEROMQ, and so on.
- Security framework: Shiro, Picketbox and so on.
- Search engine: Indextank, Lucene, Elasticsearch and so on.
- Ajax framework: JQuery, ExtJS, DWR, and more.
- UI plugins: Easyui, Miniui, and more.
- Rich text box: Ueditor, CKEditor and so on.
Interview questions
- Which company was the project developed for? What is the project's input?
- How many people have been involved in project development? What is the ratio of testers, developers, and project managers across the team?
- How long did the project develop? What is the total code size of the project? What's your code size?
- What development models or development processes are used in the project? What is the architecture of the project? What is the technical selection of the project?
- What kind of responsibilities do you take on the project? Do you often meet or work overtime? What are the benefits or lessons learned after the project is completed?
- What is the hardest part of the project? How do I resolve the various conflicts encountered during team development?
Note: for no actual project experience, you can search the HRM, Zhaopin, hook nets and other web sites to recruit Java Programmer's company, find their official website to understand their projects, view the detailed description of the project, and then try to complete some of the features, It's better to ask the man to see if his design and code are appropriate, which is equivalent to accumulating a certain project experience.
Interview questions
?? Java common face questions have been summed up in the "Java Surface question set", "Java face complete questions" and "interview programming problem supplements" and other articles published in my CSDN blog, the major companies in the face of the question I will continue to organize the release.
Other common errors
- Practice only on the computer
- Do not do the behavior surface question drill
- No mock interview training.
- Trying to memorize the answers
- Don't speak out your problem-solving ideas aloud
- The code is not rigorous.
- Do not write test code
- Give up lightly
You can ask the interviewer questions during the interview.
- I have noticed that you are using X technology, how do you solve the y problem?
- Why is your product using x technology instead of y technology? As far as I know, although X technology has the advantages of a, B and C, there are problems of D and E, and Y technology can solve the problems of D and E.
- I'm not too familiar with the X technology you're talking about, but I feel it's a good solution, can you tell me more about how it works?
- How does your team plan for the project? How many meetings do you have in a week? What is the approximate amount of code per week?
- The solution I can think of X is now only Y, how will you solve this problem?
S.A.R. Law
?? The S.A.R rule refers to the scenario in which the problem is described first, then the action you take and the final statement of the result.
Five methods of solving algorithm problems
Examples: The general rules are found by example.
Example: What is the probability of a acute triangle triangle being a circle? This is a dog's face test, you can draw at random three points on the circle to join a triangle can know the answer.
Pattern Matching method
Example: an ordered array of elements is moved through a loop, and the order of the elements becomes "3 4 5 6 1 2". How to find the smallest element in the array, assuming that the elements in the array are different. This topic and binary look so similar, so you can draw on the algorithm binary find, the smallest element apparently appears at the "Mid > right" turning point.
Simplified Promotion method
Description: Simplify the problem size and data type before discovering a common solution.
Simple Construction method
Example: find out all possible permutations of "ABCDE". Consider only the "a" situation, and then consider the "AB" situation, and so on. Eventually you will probably get a recursive formula. This approach tends to evolve into recursive methods.
Brainstorming method for data structure
Example: randomly generate some numbers and find out the number of digits. This kind of problem can be used in the mind of the data structure you understand, to see which is the most suitable for the structures. The above topic can build two heaps, a large root heap and a small Gan, the smaller elements placed in the large root heap, the larger elements placed in the small Gan, if the two heap is unbalanced, can be removed from one of the heap elements into another heap. The last median should be one of the two heap roots.
Employment negotiation
- To be justly put forward specific treatment requirements
- offer a slightly higher price than expected
- Don't just stare at the salary (many companies prefer to make concessions on conditions other than salary)
- Use the most appropriate method (you can try to negotiate treatment in the phone or e-mail)
Self-evaluation
- Learning Ability (IT industry people need to constantly understand the new technology, tools and methods)
- Team Awareness (IT industry advocates teamwork compared to individual heroism)
- Compressive capacity (the intensity of work in many IT companies is relatively large)
Java Employment Guide