What is the "using" keyword in C#? Explain how LINQ works.
Sigiloso
Thank you for posting your interview review. It's helpful for others and we'd love to see more people do the same, regardless of their experience. "using" keyword is used to wrap usage of an object implementing IDisposable and provides for deterministic finalization among other benefits. This is just the start of the question; follow ups are what is IDisposable, when do you implement IDisposable, what is the relationship between IDisposale and finalizers, what about IDisposable and memory management, garbage collection, and on. This is a very important and fundamental concept in .NET that every experienced .NET developer should understand (but of course is not relevant to someone that does not have a .NET background--we only care about what you know based on your own background, not that we are looking for any particular technologies). We feel that knowing "how" something works is critical. If you know enough to piece things together and get things done, that will only take you far enough until you run into a problem, or need to evaluate an optimal solution. The "how" is critical to being a great developer. For more junior developers this means showing an interest in knowing how more than actually knowing, for experienced, it means showing that they've researched how the technologies they user work. If you disagree, that's perfectly fine, you're welcome to your opinion, but this is something we value highly, so it's a good indicator that you are not a good fit for us (and conversely we are not a good fit for you).