Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
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}:…
Short answer: How to find employees whose names start and end with the same letter? var filtered = employees .Where(e => e.Name.StartsWith(e.Name.Last().ToString(), StringComparison.OrdinalIgnoreCase)); foreach (var e…
Short answer: var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var most…
Short answer: How to use LINQ to find the most common first letter of employee names? var mostCommonLetter = employees .GroupBy(e => e.Name[0]) .OrderByDescending(g => g.Count()) .FirstOrDefault()?.Key; Console.Wri…
Short answer: foreach (var emp in itEmployees) Console.WriteLine(emp.Name); Explanation: Lookup is like a dictionary but allows multiple values per key. var lookup = employees.ToLookup(e => e.Department); Example code…
Short answer: How to create a lookup and use it for quick searches? var lookup = employees.ToLookup(e => e.Department); var itEmployees = lookup["IT"]; foreach (var emp in itEmployees) Console.WriteLine(emp.…
Short answer: { if (e.Salary < 50000) return "Low"; else return "High"; }); foreach (var group in salaryRanges) { Console.WriteLine($"{group.Key} Salary Range:"); foreach (var emp in grou…
Short answer: How to group employees by salary ranges dynamically? var salaryRanges = employees.GroupBy(e => if (e.Salary < 50000) return "Low"; else if (e.Salary <= 80000) return "Medium"; e…
Short answer: { {"IT", new List<string> {"Bob", "Alice"}}, {"HR", new List<string> {"Eva", "John"}} }; foreach (var name in allEmployees) Console.Wr…
Short answer: How to flatten a dictionary of lists into a single sequence? var dict = new Dictionary<string, List<string>> {"IT", new List<string> {"Bob", "Alice"}}, {"…
Short answer: bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = e…
Short answer: How to check if a collection is empty with LINQ? Explain a bit more bool hasEmployees = employees.Any(); Console.WriteLine(hasEmployees ? "There are employees" : "No employees"); How to…
Short answer: var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Sele…
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.
LINQ LINQ Tutorial · LINQ
Short answer: How to find employees whose names start and end with the same letter? var filtered = employees .Where(e => e.Name.StartsWith(e.Name.Last().ToString(), StringComparison.OrdinalIgnoreCase)); foreach (var emp in filtered) Console.WriteLine(emp.Name); How to find employees whose names start and end with the same letter?
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 mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees
var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = employees var mostCommonLetter = 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 use LINQ to find the most common first letter of employee names? var mostCommonLetter = employees .GroupBy(e => e.Name[0]) .OrderByDescending(g => g.Count()) .FirstOrDefault()?.Key; Console.WriteLine($"Most common first letter: {mostCommonLetter}"); Follow : How to use LINQ to find the most common first letter of employee names?
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 itEmployees) Console.WriteLine(emp.Name); Explanation: Lookup is like a dictionary but allows multiple values per key. var lookup = employees.ToLookup(e => e.Department);
var itEmployees = lookup["IT"];
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 lookup and use it for quick searches? var lookup = employees.ToLookup(e => e.Department); var itEmployees = lookup["IT"]; foreach (var emp in itEmployees) Console.WriteLine(emp.Name); Explanation: Lookup is like a dictionary but allows multiple values per key.
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: { if (e.Salary < 50000) return "Low"; else return "High"; }); foreach (var group in salaryRanges) { Console.WriteLine($"{group.Key} Salary Range:"); foreach (var emp in group) Console.WriteLine($" - {emp.Name} ({emp.Salary})"); } var salaryRanges = employees.GroupBy(e =>
else if (e.Salary <= 80000) return "Medium";
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 employees by salary ranges dynamically? var salaryRanges = employees.GroupBy(e => if (e.Salary < 50000) return "Low"; else if (e.Salary <= 80000) return "Medium"; else return "High"; }); foreach (var group in salaryRanges) Console.WriteLine($"{group.Key} Salary Range:"); foreach (var emp in group) Console.WriteLine($" - {emp.Name} ({emp.Salary})"); How to group employees by salary ranges dynamically?
A sales report joins orders and customers, then GroupBy(c => c.City) to show revenue per city.
LINQ LINQ Tutorial · LINQ
Short answer: { {"IT", new List<string> {"Bob", "Alice"}}, {"HR", new List<string> {"Eva", "John"}} }; foreach (var name in allEmployees) Console.WriteLine(name); var dict = new Dictionary<string, List<string>>
var allEmployees = dict.SelectMany(kvp => kvp.Value);
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 flatten a dictionary of lists into a single sequence? var dict = new Dictionary<string, List<string>> {"IT", new List<string> {"Bob", "Alice"}}, {"HR", new List<string> {"Eva", "John"}} Follow : var allEmployees = dict.SelectMany(kvp => kvp.Value); foreach (var name in allEmployees) Console.WriteLine(name); How to flatten a dictionary of lists into a single sequence?
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: bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any();
bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any(); bool hasEmployees = employees.Any();
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 check if a collection is empty with LINQ?
bool hasEmployees = employees.Any(); Console.WriteLine(hasEmployees ? "There are employees" : "No employees"); How to check if a collection is empty with LINQ? bool hasEmployees = employees.Any(); Console.WriteLine(hasEmployees ? "There are employees" : "No employees"); How to check if a collection is empty with LINQ? bool hasEmployees = employees.Any(); Console.WriteLine(hasEmployees ? "There are employees" : "No employees"); How to check if a collection is empty with LINQ? bool hasEmployees = employees.Any(); Console.WriteLine(hasEmployees ? "There are employees" : "No 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: var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed =…
var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse(); var reversed = employees.Select(e => e.Name).Reverse();
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.