Java Employment Guide

Source: Internet
Author: User

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
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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).
  6. Familiar with common relational database products (MySQL, Oracle), proficient in database programming using SQL and PL/MS.
  7. 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.
  8. 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.
  9. 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 development process Project management 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?
Interview questions

Common errors
    1. Practice only on the computer
    2. Do not do the behavior surface question drill
    3. No mock interview training.
    4. Trying to memorize the answers
    5. Don't speak out your problem-solving ideas aloud
    6. The code is not rigorous.
    7. Do not write test code
    8. Give up lightly
You can ask the interviewer questions during the interview.
    1. I have noticed that you are using X technology, how do you solve the y problem?
    2. 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.
    3. 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?
    4. 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?
    5. 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
    1. 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.

    2. 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.

    3. Simplified Promotion method

      Description: Simplify the problem size and data type before discovering a common solution.

    4. 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.

    5. 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
    1. To be justly put forward specific treatment requirements
    2. offer a slightly higher price than expected
    3. Don't just stare at the salary (many companies prefer to make concessions on conditions other than salary)
    4. Use the most appropriate method (you can try to negotiate treatment in the phone or e-mail)
Self-evaluation
    1. Learning Ability (IT industry people need to constantly understand the new technology, tools and methods)
    2. Team Awareness (IT industry advocates teamwork compared to individual heroism)
    3. Compressive capacity (the intensity of work in many IT companies is relatively large)

Java Employment Guide

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.