Java Programmer interview----Exchange project experience (excerpt from Baidu)

Source: Internet
Author: User

1: Please introduce yourself this is a question the interviewer often asks.

2: Talk about your family interview ask family questions not to know the job seekers family situation, explore privacy, but to understand the family background on the shape and impact of job seekers. What the interviewer wants to hear is the positive impact of the family on the job seeker.

3: Say your greatest advantages and disadvantages of the probability of this problem is very large, the interviewer likes the job seekers from their own merits, the middle add some small shortcomings, and finally turn the problem back to the advantages, highlighting the advantages of the part.

4: What do you think you need for the position you are applying for? Interviewers like to ask candidates for their weaknesses, but savvy job seekers don't usually answer them directly. They want to see this job seeker: continue to repeat their strengths, and then say: "For this position and my ability, I believe I can be competent, but lack of experience, this problem I think I can enter the company in the shortest possible time to solve." ”

5: What salary do you expect? This question can not be answered directly, the interviewer wants to hear: "In my ability and advantage, I am fully qualified for this position, I believe I can do very well." But your company's description of the position is not very specific, I think I can postpone the discussion.

6: Do you have any questions? This problem seems to be dispensable, in fact, the interviewer does not like to say "no problem" people, because it attaches great importance to staff personality and innovation ability. If someone asks: do you have any training programs for the new employees in the company? Or what is your company's promotion mechanism? The interviewer will welcome you because it reflects your passion for learning and your ambition. Note: During the interview process, the job seeker should respect the interviewer, answer every question carefully, and say "thank you" after answering the question, to improve the chances of winning.

Question one, please simply introduce yourself!

Analysis: This is in any interview will encounter a topic, it seems that the problem is very simple, but often we do not know that the examiner asked this topic is hoping to get what information from your answer! So we can easily overreaching, irrelevant, not into the topic! Can't immediately attract the examiner. Please remember to seize every opportunity of the interview to sell yourself. But often we don't know where to start. So we need to understand what the examiner wants to get to the information first.

1. How long have you been involved in your business hours?

2. Your educational background Whether you are well-educated

3. Do you have any experience in your work experience?

4. Your project experience whether you have a wealth of project experience

5. What makes you different how do you develop projects, what's special, or what projects you

What successes have been achieved, or where you feel proud

6. What do you do best at what is your best skill?

7. Your character what kind of a person you are

How to answer: We hit analysis, the first time in general to answer your software Project Professional development time. Do not calculate the time you used to sell fish eggs in the street or go to the night market to sell chicken. Work experience is also, You have at least been in a company. Don't tell me you've only studied Java EE or. NET half a year, just want to come to my company bread where eat. To correspond with your resume. Generally at least 1.5.

Education background: If you go to the university and the professional counterparts, say it, not to mention it. In short, to avoid weaknesses

Work experience: That is, in what company before the class, and your resume on the same can be. Only talk with the experience of software development, the others do not mention

Project experience: You have done a good project, it is particularly important here, first in a word to summarize the project, and then the function and sub-functions of the project are all described.

What makes you different: it's also about how you get the difference in your project by what unique method you have, primarily to be able to result in specific projects or to illustrate them.

Best place: Mainly tell the other side what is your best skill, is the demand analysis? encoding, or database or schema

Your character: Use one or two words to describe yourself and describe your character.

Answer Example:

Interviewer: Please introduce yourself briefly!

Fox Chong: Hello, in order to Fox Chong. Engaged in the development of the Java EE 3 years. 20,002 to 2005 in the big Song Peach Island Software Valley Royal software company engaged in the development of the Java EE project. In the meantime, great song Chevalier Integrated management Platform was developed. Chevalier Comprehensive management platform can automatically collect Chevalier, Heroes, The information of the reclusive person and the management of their personal information and actions, to achieve Chevalier information maintenance, query. chivalrous event Maintenance, chevalier level management, Chevalier rewards and punishments management, chivalrous activities released, Disaster Relief fund management. I am mainly responsible for the requirements analysis, architecture design and framework class code implementation in the project. Be good at communicating with customers in project development, fully understand customer needs. With a strong self-learning ability, in the Big Song Sutra Pavilion read through a large number of software project development cheats, with Tibetan, Hindi, bronze reading and writing ability.

Question two, talk about your XXX project!

Analysis: The examiner can read your CV or your introduction to understand the project you do, then the examiner will definitely want to know more about your project, to see if it is consistent with your CV written project experience. is to assess whether you have real project experience. In general, there is at least one key item in your CV that is placed first in the experience column of your CV project. Describe the business functions of the project clearly. Here you have to focus on a project on it. To make a statement from the following points

1. Outline the project in a sentence

2. Detailed listing of the features implemented by the project

3. Say the project implementation technology and architecture, can say the project is unusual, such as the adoption of a new technology, using a good frame, etc.

4. To make others feel the scale of the project.

5. Say your responsibilities in the project

This proves that you have actually developed the project and that the project is a real one. And you have a real project experience. In line with the needs of enterprise personnel.

Special attention is paid to the more detailed description of the functions implemented by the project, the better. Of course, use words to be concise, express to be fluent. Second, as far as possible to use professional terminology, it appears that your professional. Don't make a low-level mistake.

Keep in mind that you are describing the entire project and not just the module you are doing. Some projects you only participate in one of the modules, but you have to describe the whole project, not just describe the module you are involved in.

Speak about the technology and architecture of your project, and explain your responsibilities in the project.

Answer Example:

Question three, how do you develop this project? (How did you develop the project?)

Analysis: This question is to assess whether you are familiar with the process of software development, but also to assess your project experience, your professionalism, from here can determine how many projects you have been involved, you can judge the degree of understanding of software engineering and familiarity. This problem is very critical, you need to prepare the knowledge points are: Software project life cycle, software project development model, object-oriented analysis and design, software quality assurance and so on.

The life cycle of a software project:

Project plan

Demand analysis

Design (outline design and detailed design)

Coding

Test

Release

Maintenance

Project planning stage: Visit the customer, communicate and get the original customer demand.

Research, analyze and prepare feasibility analysis report for customer's demand and market.

Through continuous communication with customers, to find customers in different segments of the user to communicate to obtain the demand. Hold review meeting, report feasibility analysis, report user's original requirement, report project vision and planning.

Requirements Analysis Phase:

On the basis of customer's original needs and constantly communicate with customers, fully familiar with and in-depth customer business, to obtain adequate business needs, improve user needs and functional requirements, understand the relevant constraints of customers to obtain non-functional requirements. To prepare the requirement specification, to convene the requirement review meeting, to define the requirements, to sign the contract, to write the project plan, to write the test plan, to convene the project start-up meeting, and to start the project formally.

Summary design phase: According to the requirements analysis manual, the use case analysis, to obtain a full and effective use cases. Write the interface prototype, write coding specification and interface style specification, database design specification. Use the UML tool to draw the use case diagram and write the valid use case specification document. Partition the Project function module. Review use cases and use case specification documents.

Detailed design stage: According to the complete use case and the requirement analysis, obtains the relevant information which the database needs, draws the database E-r diagram, writes the data design instruction. Database modeling. Perform detailed analysis, draw class diagrams with UML tools, determine sub-functions of each function module, and extract the public part of the project into a public module. Determine the architectural foundation of the project. Identify the classes and class members and methods that need to be used. Identify some auxiliary classes and methods. Use UML tools to draw a sequence diagram for each use case. Write detailed design instructions, review detailed design instructions, and build the basic framework. Lists the task list for task assignments.

Coding phase: Code is written as a group, and unit test cases are written, and unit tests are done for each class. Integration testing is performed for each function point and module that is completed. Make sure that every function point and module is finished with a visible, tangible product. Rather than wait until the end of the unified debugging and collocation. The code is checked and optimized every day, which is called refactoring.

Test phase: System test of the project according to the test plan, and user acceptance test

Product launches: Delivery of complete product and design documentation. The product is put into the customer's computer to ensure the normal operation of the product. Customer sign-off.

Maintenance phase: Provide technical support to customers and maintain and upgrade the products accordingly.

Common software development model

Waterfall Model: The most classic process model for projects with clear needs and smaller size

Fountain model: Iterative, no gap feature, suitable for object-oriented software development process

Spiral Model:

MSF Model: Microsoft Solution Process Model

What is extreme (XP) Programming: Extreme Programming is an implementation of the Agile software development approach. It emphasizes test-first, that is, when writing code, write test cases, loop iterations, each iteration is a usable product, refactoring, continuous optimization of the code, pairing programming, two people for a pair of common code writing; It emphasizes the dissemination of knowledge between teams, Let everyone in the team be familiar with the various technologies of software development. Such as: support people familiar with the database to do interface, do interface to do database, etc., through irregular role conversion to enhance the ability of the team. Require customers to participate in software development, to develop the most suitable for customer needs products.

Unit testing is usually done synchronously at the time of encoding, usually in the class, when a class completes the code and compiles the correct test to test whether the class has been able to implement the specified function. The successful compilation of a class does not mean that the class is complete, but also through testing, setting assertions to determine if he has achieved the desired effect, and has implemented a specific function. debugging, compiling by only proving the syntax of the code without errors.

Unit tests are carried out by the programmer themselves, and can be interacted with within the project team. Unit testing is a white box test

Integration testing generally refers to the implementation of a function point or a module, in order to test whether the module has implemented the requirements of the function. Integration testing may require the assembly of multiple classes or the assembly of modules that have previously been tested, which is the system integration and execution of the product components. Integration testing can be based on the size of the module at different levels, in the current software development, each completed a functional module must be integrated testing, so that you complete the module is a product that can be run. Integration testing can typically be done by the project team's head (or by designating a team member). Integrated testing with white-box testing and black-box testing

System testing generally refers to the completion of the code has been completed, to the Test team to test. The personnel conducting the system tests are independent of the development team, and the system tester tests the completed product deployment in the appropriate computer environment, according to the test plan, to verify that the system meets the specified requirements. System testing In addition to testing the product should meet the basic functional requirements, but also the performance of the product, user interface, security, pressure, reliability, installation and anti-installation and other aspects of testing

System test with black box test

Acceptance testing generally refers to the product delivered to the customer, responsible for the product deployment in the designated computer environment. The overall test performed by the user according to the requirements document. The content of the acceptance test is the same as the system test, except that the performer is different. In addition to the test system to complete the basic functions of the performance, safety, reliability and other tests. The acceptance test also uses the black box test

Why do I need to test? Testing is the assurance of software quality, only through rigorous testing software is qualified software, testing is not to say that the software can be compiled through, testing is to make software products to the maximum extent to meet customer demand degree.

Answer Example:

Examiner: So Fox rushed, can you talk about how you have developed this project?

Fox Rush: First of all, we have a basic user requirement for this project. But this is not enough, we all know that demand analysis is very important, so we in the user's original requirements of the document based on the analysis, through continuous communication with customers, fully understand and familiar with the user's business, improve the business needs and functional requirements. It also analyzes the needs of users ' business requirements and functions, and perfects the necessary non-functional requirements for software implementation. Draw the specification of the project requirement and pass through the review meeting.

Make use case analysis according to requirement specification, find out sufficient effective use case by analysis and discussion, and draw use case diagram with Rose. Perform detailed analysis of each use case, complete the use case specification document for each use case, and write an interface prototype. Divide the project module. Finally, the use case and the use Case specification document are reviewed and validated. Write "Code writing specification" and interface style specification, database design specification, write summary design specification.

Obtain basic information prototype of database according to requirement specification and analysis of each use case specification document. Can also be said to be a draft database table, according to the database table grass analysis, database design and optimization. Write the database design manual. Use PowerDesigner for database modeling, and generate SQL scripts. Identify the project framework, design public modules and auxiliary classes. According to the analysis of database model and use case specification document, list the object list and clarify object relation. Use rose to draw a class diagram. Use rose to draw a time series diagram for each use case. Write detailed design instructions. Lists the task list, grouped for code writing.

In the code authoring phase, all entity classes are completed uniformly. For non-entity classes, the framework of the class is completed, that is, write-only methods and comment text. The implementation of the specific method is temporarily empty. Then write the code again. Every code that completes a class is refactored and unit tested after it is compiled. Each completed function and module is tested by team leader for integration. The completion of the module is a really can run, visible function implementation.

After each team has completed its own module, the module is integrated for a large-scale integration test. The product is then produced to the product testing team for systematic testing.

Question four, how do you guarantee the quality of software development?

Analysis: In fact, the above explanation has already given the answer. Software quality is the satisfaction of software implementation to requirements. The more software developed to meet the needs of customers, the higher the quality of the software. Conversely, the lower the quality. Although you develop the software using new technology, good design, rich features, but these features are not required by the customer, the customer needs of the features are not implemented or many are not implemented. Such software is also the software of failure. In order to ensure software quality, that is, to allow the development of software to maximize the satisfaction of customer needs, there are only two methods. One is to get a full and complete demand, and the other is to be able to test and write a test plan with demand as the center. To ensure that the software meets the requirements.

Answer Example:

Examiner: How do you guarantee the quality of the software?

Linghutao: To ensure that the quality of the software first to obtain a complete demand, in the requirements of the analysis phase did a lot of work with customers all aspects of the representative of the user to communicate, fully understand and familiar with the customer's business. And from the requirements to the design stage to maintain communication and communication with users. Let the user's business experts always participate in our needs, analysis and design work.

Secondly, we will write a test plan after the requirement analysis and test it at every stage of the development to ensure that the code is in compliance with the corresponding requirements. During the code writing process, each completed class is unit tested by the program, each completion of a function point or module to be integrated testing, each integration test on the previous test passed the product iteration, that is, the previous Test success will be added to this test. So that each completed function and module after the completion of a can be run, can see the product, but also welcome users to witness our integration test results. The final integration test is done after the code is written, and the project is systematically tested by the independent Test team.

Question Five, why did you leave? (Why did you leave the company before?) )

Analysis: This issue is almost always in the interview on any occasion, sometimes in a technical interview, sometimes in a personnel interview, sometimes in technical interviews and personnel interviews. In fact, a better answer, the answer is more abstract than good. Remember not to speak ill of the previous company if you do. People will think that after you leave, you will also say bad things about the company. It is generally said that in order to find a better space for development. It makes you feel that you have chosen their company after careful consideration.

Answer Example:

Interviewer: Why did you leave the company before?

Fox Chong: Before the company is very good to me, I worked in the previous company was also very happy. Because of the expiry of the contract, in order to obtain better space for development and to pursue their own sustainable development environment. And to the company to handle the separation procedures, completed the work right kind. (The following sentence can not be discussed)

Question six, talk about your career planning

Analysis: Companies want to recruit people who are potential stocks, see if you are a pursuit of retwist, and want to see if you can in the enterprise for a long time or just put it in front of a springboard. In general, the answer to this question is to make people feel that you are a nurturing, potential person. Remember to see what kind of people are interviewing you. If the project manager comes to interview you, you should not say that your future career planning is the project manager. You can say that your career planning is becoming an architect, or a technical expert. Otherwise, he may think you are a threat to it. Even if he knew it was nothing, there might be a little bit of discomfort in the mind. If it is the boss interview or personnel asked you such questions, you can say that the project manager is no harm, but to give people a sense of stability.

Java Programmer interview----Exchange project experience (excerpt from Baidu)

Related Article

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.