[Original article address]
New Interview Questions for Senior Software Engineers
[Original article posting time] 11-02-17
I am helping an unemployed friend summarize some questions about interview exercises. Dear reader, I think it would be useful to collect some questions from you.
These questions should focus more on software design, rather than technical details like my previous list of two interview questions.
What Should great. NET developers know (more interview questions)
ASP. NET interview questions(Can you believe it? Published seven years ago)
Update: I think we all agree that if you want to go to the interview tomorrow and look at the interviewer across the table to simply print out the list and read it, you should make an excuse to run away immediately. This is neither a "How to interview guide" nor a list of "best practices for engineers" for me.
It is only a collection of familiar knowledge in the software development industry that has been working for nearly ten years or so. Of course, assume that the interviewer can understand BS. This is not, nor should it be a small test. If you want to apply for a job (or hire someone), it is more important to understand whether the other party can solve the problem or be mentally rigid. Remember to keep your mind in mind. After all, you found it online. -
@Shanselman
Below is what I know now.
In your career as a developer, what are the things you have done that can help you make progress?
Will you call yourself a software developer? What does that word mean to you?
Implement a <Basic Data Structure> on paper, whiteboard, or notepad
What is solid?
Why is "single Responsibility Principle" important?
What is control reversal? What is the relationship with dependency injection?
What is the difference between a layer-3 Application and a layer-2 Application?
Why is the interface important?
What is the repository mode? Factory model? Why is the mode important?
Anti-pattern example? Who are in the four groups of design patterns? Why do you need to care about this?
What is the relationship between MVP, MVC, and mvvm modes? When will they apply?
Explain the concept of separation of concerns and its advantages and disadvantages
Specify the three main attributes of the object-oriented mode. Describe their meaning and explain why they are important.
Describe a non-factory model? How is it used? When does it apply?
You have just been authorized to manage a legacy code project with maintenance issues. What improvements will you do to make the foundation of the project solid?
Show me all the applications you have ever done and tell me what you have done in their design.
In addition to relational databases, what are the alternative methods to store data? Why do you want to do that? How do you weigh the advantages and disadvantages?
Explain the concept of the Convention priority principle and give an example of the Convention priority principle you have seen in your actual work.
Explanation of stateless system and stateful
Systems) differences between systems and the impact on parallel states.
Discuss the differences between mocks and stubs/fakes, and when you may use them (here the answer is not so important, but only the discussion it brings about ).
Discuss the concept of yagni and explain the things you have done recently related to this practice.
Explain the meaning of sandbox and why you want to use it, and give examples in actual work.
Concurrency
L
What is the difference between the locking and non-locking (optimistic and pessimistic) concurrency models?
L
What problems do you encounter when locking a model? What about the lock-free model?
L
What trade-offs do you need for resource competition?
L
What is the difference between a task-based model and a thread model?
L
What is the difference between Asynchronization and concurrency?
Are you still writing code? Do you like it? You have just been assigned a project that will use new technologies. How do you get started?
How does service-oriented addition change the system? When should I use it?
How do you keep up with the latest technologies and tools?
What is the difference between the "set" logic and the "process" logic? When will you use one of them? Why?
What source code control system do you use?
What is continuous integration? Have you used it? Why is it important?
Describes a software development lifecycle that you have managed.
What is your reaction to those who criticize your code/documentation?
Who blog or podcast will you follow?
Do you also post your own blog or podcast?
Tell me some interesting projects you want to write in your spare time.
What is the programming book you recently read?
Enter "cnn.com" in the browser as detailed and in-depth descriptions as possible and click "go.
Describes the structure and content of the design document, or a series of design documents for multi-layer Web applications.
<Contemporary cool web technology
> Why is it so cool?
How can I prevent the database administrator from stealing the user password list?
What will you do when a problem cannot be solved gets stuck?
If your database has poor performance, which of the following things will you consider first to accelerate it?
What is SQL injection?
What is the difference between unit test and integration test?
Tell me your three failed experiences.
What is refactoring? Have you used it? Is it important? Three Common refactoring methods are described.
You have two computers and want to obtain data from one computer to the other. What do you do?
Only your own device. What will you create?
How do you prioritize time, cost, customer satisfaction, and best practices in your projects?
Explain the cause.
What are the differences between web server, Web farm, and Web garden? For any one of them, what changes do your web application need?
What are the values of one version, automated testing, and peer review per day for a project? What are the disadvantages? What elements of object-oriented design are most likely to be abused? How do you solve that problem?
Do you know when your code is ready for production?
What is yagni (you
Aren't going to need it )?
Is this list an example?
Describe some bad code that you have recently read or used.
What about your ideas? I will select some good questions from the comments every day.