Interview Questions
10 questions you are likely to be asked about IIS (Internet Information Services), from beginner to experienced level — each with a spoken-style answer, a common follow-up and a link to the lesson behind it.
Beginner questions (3)
01What is IIS?
Internet Information Services is Microsoft’s web server for Windows. It receives HTTP(S) requests through the kernel driver HTTP.sys and serves static files or hands requests to applications such as ASP.NET Core (via the ASP.NET Core Module) or ASP.NET Framework running in worker processes.
02What is an application pool?
An isolated container of one or more w3wp.exe worker processes with its own identity, .NET CLR setting, pipeline mode and recycling rules. Separate pools keep one crashing or slow app from affecting others.
03What is a site binding?
The combination of protocol, IP address, port and host name that IIS uses to decide which site receives a request — for example https, All Unassigned, 443, shop.example.com with SNI.
Intermediate questions (4)
01How do you host an ASP.NET Core app on IIS?
Install the .NET Hosting Bundle, publish the app, create a site pointing at the publish folder, set its app pool to “No Managed Code”, and let the generated web.config load the ASP.NET Core Module (in-process by default). Grant the pool identity read access to the folder.
02What is ApplicationPoolIdentity?
The default, least-privileged virtual account IIS creates per pool, named IIS AppPool\PoolName. You grant it file, folder or SQL permissions instead of using a shared domain account.
03What does app pool recycling do and why can it cause problems?
It starts a new worker process and gracefully shuts down the old one — by default every 1,740 minutes and after 20 minutes idle. In-memory sessions and caches are lost, and the first request after a recycle can be slow.
04How do you make a React or Angular SPA work on IIS?
Copy the build output to the site folder, install the URL Rewrite module and add a rule that rewrites requests for non-existent files and folders to /index.html, while leaving /api and real files untouched.
Experienced questions (3)
01How do you troubleshoot HTTP 500.19, 500.30 and 502.5 errors?
500.19 means IIS cannot read web.config (bad XML or a missing module such as URL Rewrite). 500.30 is an in-process ASP.NET Core start-up failure; 502.5 is an out-of-process start failure. Check the Event Viewer, enable stdout logging in web.config and run the app from the command line to see the real exception.
02What is Failed Request Tracing?
A per-request diagnostic log (FREB) that records every module, event and timing for requests matching rules such as status code 500 or time taken over 5 seconds. It shows exactly where a request failed or slowed down.
03How would you load balance two IIS servers?
Use Application Request Routing (ARR) with URL Rewrite on a front-end server to create a server farm with health checks, or use a hardware/cloud load balancer. Keep apps stateless or use a shared session store, and share Data Protection keys.