Hey guys,
Below is a list of questions that any back-end .net developer should know in 2021 interviews.
- Benefits of microservices?
- How would you design microservice? (what would be your ideas on how to split the monolith?)
- How can microservices communicate? (orchestration vs. choreography)
- How to track problems? (distributed tracing, CorrelationID)
- Lifecycle of the request (middlewares, attributes, registered implementation in Startup) - ActionFilters (before, after, namespace level?)
- Authentication, authorization (tokens, deserialization, how to add)
- System designs / architecture (monolith design, microservices advantages/disadvantages, scaling vertically/horizontally)
- Distributed tracing, logging between microservices
- VMWare vs Docker (do I need an operating system?)
- API Communications (how the microservices should communicate?)
- .NET Core experience?
- Dependency injection (any 3rd party library?, transient vs scoped, why to use transient?)
- EF (default objects lifestyle?, how to convert to transient, how to initialize CS?, replace on-the-fly?, code-first migration), what happens when there is a context change, lazy-loading vs. eager-loading)
- Delegate?
- Func vs regular function? Reason to have delegates?
- SignalR? How it works? (how to differentiate between two tabs?)
- Securing WebAPI? (something token based?, accessToken vs. refreshToken (what I am sending to get each?), which one has larger expiration?, slidin experience?)
- HTTP status codes (+ POST vs PUT )
- Best practices when building API, what should you consider
- Security of microservices (authentication, authorization)
- Domain Driven Design
- JWT (refresh/access token)
- What is CORS?
- Redis (what is special about that? distributed cache?)
- Task/Thread
- DBs - Indexes (clustered/non-clustered, index vs unique index)
- Which ORM? (EF, Dapper, lazy/eager loading)
- Locks on the DB
- How to switch the context based on the requests? (middlewares)
- IDisposable
- IQueryable vs IEnumerable
- IList vs List (difference, where to use it?)
- Using keyword
- Explicit conversion
- Int16 vs Int32 vs Int64
- unsigned vs signed int
- Paging (how it works, DB level, LINQ)
- Lazy loading vs eager loading
- Microservices (structure, how it works)
- RESTful vs SOAP (verbs)
- Difference between horizontal and vertical scaling
- What is long polling?
- Microservices (synchronous IO pattern, orchestration vs. choreography)
- Message vs. Event
- API Gateway
- Out vs. Ref parameter
- InnerJoin vs OuterJoin
- GroupBy and Having SQL statements
- Clustered vs. Non-clustered index
- Auto reset events vs. manual reset events
- Semaphore vs mutex
- Preflight requests
- Index scan vs Index seek
- DB examples (selects, indexes, order by)
- AutoMapper
- Dapper
- Show that you are able to work with blurry requirements
- Show that you are proactive, you are asking additional questions
- Show you are able to do tradeoffs
This list of questions was created using the platform We are hiring top
Say in a comment what question should be added for .net developer interviews.
Top comments (1)
What about software design/architecture and systems architecture in general?
There is much more out there to talk about, not only the holy grail of microservices. Too many developers do not care about software architecture since microservices are introduced.
Microservices in general are a big challenge for the whole team/organization which do not only add benefits but also downsides.
Other crucial topics my opinion are software quality, automation and testing.