Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
Short answer: var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToLi…
Short answer: How to create a dictionary from a list with duplicate keys? var dict = employees .GroupBy(e => e.Department) .ToDictionary(g => g.Key, g => g.ToList()); Follow : foreach (var kvp in dict) Console.W…
Short answer: foreach (var name in union) Console.WriteLine(name); Explanation: Union returns distinct elements from both collections. var list1 = new[] { "Alice", "Bob", "Charlie" }; var li…
Short answer: How to perform union of two collections without duplicates? var list1 = new[] { "Alice", "Bob", "Charlie" }; var list2 = new[] { "Bob", "David", "Eva&q…
Short answer: var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var in…
Short answer: How to perform intersection of two collections? Explain a bit more var intersect = list1.Intersect(list2); foreach (var name in intersect) Console.WriteLine(name); // Output: Bob How to perform intersection…
Short answer: var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); va…
Short answer: How to find elements present in the first but not in the second list? var except = list1.Except(list2); foreach (var name in except) Follow : Console.WriteLine(name); // Output: Alice, Charlie How to find e…
Short answer: ; foreach(var emp in midRange) Console.WriteLine($"{emp.Name} - {emp.Salary}"); var midRange = employees.Where(e => e.Salary >= 65000 && e.Salary <=. Example code 85000); foreach(…
Short answer: How to find employees with salary between a range? var midRange = employees.Where(e => e.Salary >= 65000 &amp;&amp; e.Salary <= 85000); foreach(var emp in midRange) Console.WriteLine($"…
Short answer: var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var grou…
Short answer: How to group and order groups by count descending? var groupOrder = employees .GroupBy(e => e.Department) .OrderByDescending(g => g.Count()); foreach (var group in groupOrder) Console.WriteLine($"…
Short answer: bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "A…
Short answer: var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e…
Short answer: How to sum salaries of employees in a department? var totalSalaryHR = employees .Where(e => e.Department == "HR") .Sum(e => e.Salary); Console.WriteLine($"Total salary in HR: {totalSala…
Short answer: How to get employee with maximum salary in a department? var maxSalaryInIT = employees .Where(e => e.Department == "IT") Follow : .OrderByDescending(e => e.Salary) .FirstOrDefault(); Console…
Short answer: var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unkn…
Short answer: How to safely get first element or a default? Explain a bit more var unknownEmployee = employees .FirstOrDefault(e => e.Name == "Unknown") ?? new Employee { Name = "Default Employee"…
Short answer: var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var li…
Short answer: How to concatenate two sequences? var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); foreach(var name in concatenated) Console.WriteLine(name); How to concat…
Short answer: How to group by multiple keys? var groupedMulti = employees .GroupBy(e => new { e.Department, SalaryLevel = e.Salary > 75000 ? How to group by multiple keys? var groupedMulti = employees .GroupBy(e =&…
Short answer: var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryB…
Short answer: How to calculate average salary per department? var avgSalaryByDept = employees .GroupBy(e => e.Department) Follow : .Select(g => new { Department = g.Key, AverageSalary = g.Average(e => e.Salary)…
Short answer: int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees i…
Short answer: How to find the top N highest paid employees? int topN = 3; var topEarners = employees .OrderByDescending(e => e.Salary) .Take(topN); foreach (var emp in topEarners) Console.WriteLine($"{emp.Name}:…
LINQ LINQ Tutorial · LINQ
Short answer: var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees…
ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList());
var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList()); var dict = employees .ToDictionary(g => g.Key, g => g.ToList());
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to create a dictionary from a list with duplicate keys? var dict = employees .GroupBy(e => e.Department) .ToDictionary(g => g.Key, g => g.ToList()); Follow : foreach (var kvp in dict) Console.WriteLine($"{kvp.Key} Department:"); foreach (var emp in kvp.Value) Console.WriteLine($" - {emp.Name}"); Explanation: Group employees by department and convert groups to dictionary entries.
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: foreach (var name in union) Console.WriteLine(name); Explanation: Union returns distinct elements from both collections. var list1 = new[] { "Alice", "Bob", "Charlie" }; var list2 = new[] { "Bob", "David", "Eva" }; var union = list1.Union(list2);
foreach (var name in union) Console.WriteLine(name); Explanation: Union returns distinct elements from both collections. var list1 = new[] { "Alice", "Bob", "Charlie" };
var list2 = new[] { "Bob", "David", "Eva" };
var union = list1.Union(list2);
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to perform union of two collections without duplicates? var list1 = new[] { "Alice", "Bob", "Charlie" }; var list2 = new[] { "Bob", "David", "Eva" }; var union = list1.Union(list2); foreach (var name in union) Console.WriteLine(name); Explanation: Union returns distinct elements from both collections.
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2);
var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2); var intersect = list1.Intersect(list2);
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to perform intersection of two collections?
var intersect = list1.Intersect(list2); foreach (var name in intersect) Console.WriteLine(name); // Output: Bob How to perform intersection of two collections? var intersect = list1.Intersect(list2); foreach (var name in intersect) Console.WriteLine(name); // Output: Bob How to perform intersection of two collections? var intersect = list1.Intersect(list2); foreach (var name in intersect) Console.WriteLine(name); // Output: Bob How to perform intersection of two collections? var intersect = list1.Intersect(list2); foreach (var name in intersect) Console.WriteLine(name); // Output: Bob
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2);
var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2); var except = list1.Except(list2);
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to find elements present in the first but not in the second list? var except = list1.Except(list2); foreach (var name in except) Follow : Console.WriteLine(name); // Output: Alice, Charlie How to find elements present in the first but not in the second list?
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: ; foreach(var emp in midRange) Console.WriteLine($"{emp.Name} - {emp.Salary}"); var midRange = employees.Where(e => e.Salary >= 65000 && e.Salary <=.
85000); foreach(var emp in midRange) Console.WriteLine($"{emp.Name} - {emp.Salary}"); var midRange = employees.Where(e => e.Salary >= 65000 && e.Salary <=
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to find employees with salary between a range? var midRange = employees.Where(e => e.Salary >= 65000 && e.Salary <= 85000); foreach(var emp in midRange) Console.WriteLine($"{emp.Name} - {emp.Salary}"); How to find employees with salary between a range?
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees…
OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count());
var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count()); var groupOrder = employees .OrderByDescending(g => g.Count());
A sales report joins orders and customers, then GroupBy(c => c.City) to show revenue per city.
LINQ LINQ Tutorial · LINQ
Short answer: How to group and order groups by count descending? var groupOrder = employees .GroupBy(e => e.Department) .OrderByDescending(g => g.Count()); foreach (var group in groupOrder) Console.WriteLine($"{group.Key} has {group.Count()} employees"); How to group and order groups by count descending?
A sales report joins orders and customers, then GroupBy(c => c.City) to show revenue per city.
LINQ LINQ Tutorial · LINQ
Short answer: bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice");…
bool containsAlice = employees.Any(e => e.Name == "Alice");
bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice"); bool containsAlice = employees.Any(e => e.Name == "Alice");
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary);
var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary); var totalSalaryHR = employees .Sum(e => e.Salary);
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to sum salaries of employees in a department? var totalSalaryHR = employees .Where(e => e.Department == "HR") .Sum(e => e.Salary); Console.WriteLine($"Total salary in HR: {totalSalaryHR}"); How to sum salaries of employees in a department?
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to get employee with maximum salary in a department? var maxSalaryInIT = employees .Where(e => e.Department == "IT") Follow : .OrderByDescending(e => e.Salary) .FirstOrDefault(); Console.WriteLine($"{maxSalaryInIT?.Name} has the highest salary in IT"); How to get employee with maximum salary in a department?
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee =…
var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" }; var unknownEmployee = employees = "Default Employee" };
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to safely get first element or a default?
var unknownEmployee = employees .FirstOrDefault(e => e.Name == "Unknown") ?? new Employee { Name = "Default Employee" }; How to safely get first element or a default? var unknownEmployee = employees .FirstOrDefault(e => e.Name == "Unknown") ?? new Employee { Name = "Default Employee" }; How to safely get first element or a default? var unknownEmployee = employees .FirstOrDefault(e => e.Name == "Unknown") ?? new Employee { Name = "Default Employee" }; How to safely get first element or a default? var unknownEmployee = employees .FirstOrDefault(e => e.Name == "Unknown") ?? new Employee { Name = "Default Employee" };
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] {…
"Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3);
var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3);
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to concatenate two sequences? var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); foreach(var name in concatenated) Console.WriteLine(name); How to concatenate two sequences? var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); foreach(var name in concatenated) Console.WriteLine(name); How to… concatenate two sequences? var list3 = new[] { "Frank", "Grace"…
}; var concatenated = list1.Concat(list3); foreach(var name in concatenated) Console.WriteLine(name); How to concatenate two sequences? var list3 = new[] { "Frank", "Grace" }; var concatenated = list1.Concat(list3); foreach(var name in concatenated) Console.WriteLine(name);
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to group by multiple keys? var groupedMulti = employees .GroupBy(e => new { e.Department, SalaryLevel = e.Salary > 75000 ? How to group by multiple keys? var groupedMulti = employees .GroupBy(e => new { e.Department, SalaryLevel = e.Salary > 75000 ? "High" : "Low" }); foreach (var group in groupedMulti) Console.WriteLine($"{group.Key.Department} -…… {group.Key.SalaryLevel} ({group.Count()} employees)"); How to…
A sales report joins orders and customers, then GroupBy(c => c.City) to show revenue per city.
LINQ LINQ Tutorial · LINQ
Short answer: var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e =>…
e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) });
var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) }); var avgSalaryByDept = employees g.Average(e => e.Salary) });
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to calculate average salary per department? var avgSalaryByDept = employees .GroupBy(e => e.Department) Follow : .Select(g => new { Department = g.Key, AverageSalary = g.Average(e => e.Salary) }); foreach (var dept in avgSalaryByDept) Console.WriteLine($"{dept.Department}: {dept.AverageSalary}"); How to calculate average salary per department?
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees
int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees int topN = 3; var topEarners = employees
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.
LINQ LINQ Tutorial · LINQ
Short answer: How to find the top N highest paid employees? int topN = 3; var topEarners = employees .OrderByDescending(e => e.Salary) .Take(topN); foreach (var emp in topEarners) Console.WriteLine($"{emp.Name}: {emp.Salary}"); Explanation: Orders employees by salary descending and takes the top N.
ShopNest uses LINQ to query orders: filter by date, project to a summary DTO, and order by total—readable C# that becomes SQL under EF Core.