- Tell us a little bit about yourself and what drives you?
- Ask a question from their CV that is positive, ‘what was your greatest success in your current or last role’
- What’s your ideal job?
- Can you give us one thing you really enjoyed in your last job?
- What about one thing that you didn’t enjoy as much?
How did you solve that?
- How can you implement unit testing when there are dependencies between a business layer and a data layer, or the presentation layer and the business layer?
- The development team is getting near release date. They start saying things like, we’re going to need a sprint to test. What would your reaction be?
- What measures have you taken to make your software products more easily maintainable?
- What is the most expensive part of the SDLC?
(hint: reading others code)
Design and architecture
- Can you explain some design patterns, and where you have used them?
- Have you used scrum before? (If the answer is no, move on)
- If you were taken on as a team member and the team was failing Sprint after Sprint. What would you do?
- What would you do if you were part of a Scrum Team and your manager asked you to do a piece of work not in the Scrum Backlog?
(hint: manager needs to consult PO. Something has to be removed from Sprint backlog in order for something to be added)
- When do you use an abstract class and when do you use an interface?
- How do you make sure that your code is both safe and fast?
- Can you describe the process you use for writing a piece of code, from requirements to delivery?
Software engineering questions
- What are the benefits and drawbacks of Object Orientated Design?
(hint: polymorphism inheritance encapsulation)
- What books have you read on software engineering that you thought were good?
- Explain the terms YAGNI, DRY, SOLID?
(hint You Aint Gonna Need It. Build what you need as you need it, aggressively refactoring as you go along; don’t spend a lot of time planning for grandiose, unknown future scenarios. Good software can evolve into what it will ultimately become. Every piece of code is code we have to test. If the code is not needed, why are we spending time on it?)
Functional design questions
- Which controls would you use when a user must select multiple items from a big list, in a minimal amount of space?
- How would you design editing twenty fields for a list of 10 items? And editing 3 fields for a list of 1000 items?
Specific technical requirements
- When, where and how do you optimize code?
- How would you mitigate SQL injection?
(hint: looking for multi layered sanitisation. parameterised SQL. Least privileged account for data access)
- Have you used XSS and can you provide us an example?
- What are some of the irritating limitations of CSS?
- How would you remove the
ASP.NET_SessionIdcookie from a MVC controllers Response?
Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now;)
(hint: via Object’s prototype property)
- What are the 3 things a WCF end point must have, or what is the ABC of a WCF service?
Address – where the WCF service is hosted.
Binding – that specifies the protocol and its myriad of options.
Contract – service contract defines what service operations are available to the client for consumption.
C# / .Net questions
- What’s the difference between public, private, protected and internal modifiers?
- What are the main differences between the .NET 2.0 and 4.0 garbage collector?
(hint: background GC was introduced)
- Describe the different ways arguments can be passed in C#
(hint: pass val by val, pass val by ref, pass ref by val, pass ref by ref)
- We have a Base class, we have a child class that inherits BaseClass. Does the child class inherit the base class’s private members?
(hint: this is normally good for a laugh)
- Have you ever worked with a deadlock and how did it occur?
- When should locks be used in concurrent programming?
when synchronization cannot be performed in any other way. This is rare. With careful thought and planning, there is just about always a better way. There are many ways to synchronise without using locks.
System.Threading.Interlockedclass generally supported by the processor
- What are some of your favourite .NET features?
Finally, this question is from Google; can you quickly tell us something that we don’t know anything about? It can be anything.
Tags: Interview Questions