Hundred software developers interview question

Think employed to engage in software development of smart people is not easy. The event of accidentally, it will get a pile of low-energy large baboons. I met last year on this matter. You certainly do not want to do it. Listen to me, that's right. In a tree stand open door meetings are not.
Ask difficult questions points can help you put smart people with the baboons were separated. I have decided to put me out of their own finishing interviews hundred software developers to question the issue of, I hope to help you a favor.
This list covers the software engineering knowledge system as defined in the majority of the knowledge domain. Of course, if you only want to find the best programmers, it only involves the structure, algorithms, data structures, testing of these topics. If you want to architect-employed, you can only consider the demand for functional design, technical design of these places.
But no matter how you make must bear in mind one thing: the answer to most of the problems here are not right or wrong!
You can put me as a prelude to these questions, discussion. For example, the following have a problem is to use static methods or single-cause cases. If the interview carry out a long-winded, he is likely to be a smart and capable guy! Loss of face if he looked at you, the issue of such voices, it is clear that this is only the baboons. Similarly, a few want to know 2 of involution are not also have a lot of methods, but if people want to interview with mod operator, ... ah ... you know what I mean it. (You do not know if it does not matter to the root of bananas?)
Demand
Can you give some non-functional (or quality) examples of needs it?
If customers need high performance, extremely easy to use and highly secure, you will give him any suggestions?
Can you give some to describe the needs of different technologies么? Their respective applicable to what scenes?
Needs to track what does this mean? What is a forward retrospective, what is the back trace?
What tools do you enjoy tracking needs?
How do you look at changes in demand? It is good or bad? Give your reasons.
How do you research needs and found that demand? What resources can be used?
How do you give the needs of priority? What are the technologies?
On the demand process, the users, customers, developers, what are their responsibilities?
How do you deal with incomplete or puzzling demand?
Functional Design
In the functional design which metaphor? Give a few examples of success.
If some function of execution time is very long, how can users do not feel too long a wait?
If the user must be in a small area, often from a select list of multiple entries, you will control what?
What are the ways to guarantee the integrity of the data item?
Prototype system which has set up technology?
Application how to set up the anticipated user behavior? Give some examples.
How to start a group of the large number of design and complex features, you can give some design ideas you?
Have a list, which has 10 elements, each element has 20 fields to edit, how do you design such a situation? If it is 1000 elements, each element has three fields do?
Using different colors on a section of text markup language highlighted, this approach has the problem?
Web environment and the Windows environment, what restrictions?
Technical design
What is the low coupling and high polymerization? Package what is the meaning of the principle?
In Web applications, how do you avoid a few people edit the same paragraph, the data caused by the conflict?
Design Patterns you know it? What are the design patterns you used? Occasions in what for?
Whether the understanding of what is stateless business layer? How long Affairs adapt?
In a framework structures, or technical design, you spent several map?
N-tier structure in which there are layers? Their respective responsibilities are what?
What are the ways to ensure that the architecture of data in a correct and robust?
Object-oriented design and design-oriented components which have different?
How in the database of user authorization, user profile, these rights management functions of modeling?
How to give in accordance with the hierarchy of the animal kingdom (including a variety of species and their behavior) modeling?
Program Design
How do you guarantee that your code can handle a variety of error cases?
Explain what is Test Driven Development, Extreme Programming cited in a number of principles.
Others watch the code, you are most concerned about what place?
When using the abstract class, when using the interface?
Apart from outside the IDE, you also enjoy what an indispensable tool?
How do you ensure that code execution speed, and no problem?
When using many state, when used to appoint?
When used with a static member of the class, when the use of single-Example?
How do you advance in the code which deal with changes in demand? Give some examples.
Describe a section of code implementation process, from demand to final delivery.
Algorithm
How do you know a figure 2 are not the involution? How to judge a few are not odd?
How to find middle element of list?
How to change the 10,000 static HTML pages of all telephone numbers of the format?
You cite an example of recursion used.
In the hash table and sort the list after looking for an element, which the fastest search?
Whether book, magazine or network, you have learned from the last point algorithm knowledge are what?
How to reverse a string? You can not string a temporary Mody?
Would you like to what type of language used to write complex algorithms?
Have an array, which are from 1-1000000 integer, in which a figure has appeared twice, how do you find the repetitive figure?
You know, "traveling salesman problem (Traveling Salesman Problem)"么?
Data Structure
How to achieve in memory structure of the London subway?
How the most effective manner in the color value stored in the database?
Queue and stack What is the difference?
Heap or stack storage with data What is the difference?
How in the database stored in N-dimensional vector?
You tend to use language which type of complex data structure?
21 What is the binary value? 16 value of this system?
Whether book, magazine or network, you have learned from the last point data structure of knowledge are what?
How to store XML documents in the results of football matches (including the team and score)?
What are the text format can be preserved for Unicode characters?
Test
What is regression testing? How do you know the new changes introduced to existing function without causing damage?
If the business layer and data layer has to rely on the relationship between, you how to write unit tests?
What are the tools you use to test code quality?
Product deployment, you are the most commonly encountered and what types of questions?
What is code coverage? How many code coverage?
Functional testing and exploratory testing What is the difference? How do you test the site?
Test suite, test cases, test plan, which is the difference between what? How do you organize the test?
E-commerce sites to make smoke test, you will make what type of test?
Customer acceptance tests will be found not satisfied with things, how to minimize this from happening?
You last year in testing and quality assurance aspects of learned what?
Maintenance
What are the tools for you in the maintenance phase of the product to monitor and control?
In order for a product environment is being used to upgrade the product, the attention to which important matters?
If a large document has errors, and code can not be tracked step by step, how do you find an error?
How do you ensure that code changes will not affect other parts of the Products?
How do you prepare technical documentation for the product?
What are the ways you used to ensure software product easier to maintain?
Products How to run system debugging environment?
What is load balancing? Load balancing has what kinds of ways?
Why in the application of life cycle, software maintenance costs of the share of the highest?
Re-engineering (re-engineering) and reverse engineering (reverse engineering) What is the difference?
Configuration Management
Do you know the baseline configuration management in the meaning of it? How to project a significant moment in the freezing?
Generally what you will into the version control?
How can ensure that the team who everyone knows what has changed?
Tag and Branch What is the difference? Under what circumstances the use of tag, when used branch?
How to manage technical documentation - such as product architecture document - changes?
What tools do you manage all projects in the state of digital information? Which is your favorite tool?
If customers want to have released a product to make changes, how do you deal with?
Version management and release management what the differences?
Changes to the text file and binary file changes in management, both have what's the difference?
At the same time deal with a number of change requests, or at the same time the incremental development and maintenance, how you look at this kind of thing?
Project Management
Scope, timing, cost, the three which can be controlled by the client?
Who in the project we have to pay for everything to make estimates? Who has the right to set a deadline?
Reduce the frequency of delivery, or reduce each of the workload of each delivery, which is your favorite?
Which map do you like to use to track project progress?
The difference between iterative and incremental Where?
Try to explain the risk management used in practice. How to manage the risks?
Do you like or mission decomposition rolling plan?
What are the things you need to help you to determine whether the project in line with the time requirements, operating within budget?
DSDM, Prince2, Scrum, this distinction between what?
If clients want too much, you what the scope and time to reach agreement with him then?