Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
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…
Short answer: How to reverse a sequence using LINQ? var reversed = employees.Select(e => e.Name).Reverse(); foreach (var name in reversed) Console.WriteLine(name); How to reverse a sequence using LINQ? var reversed =…
Short answer: class EmployeeNameComparer : IEqualityComparer<Employee> { } foreach (var emp in distinctByName) Console.WriteLine(emp.Name); public bool Equals(Employee x, Employee y) => x.Name == y.Name; public…
Short answer: How to perform a distinct with a custom comparer? class EmployeeNameComparer : IEqualityComparer<Employee> public bool Equals(Employee x, Employee y) => x.Name == y.Name; public int GetHashCode(Emp…
Short answer: bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"…
Short answer: var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employe…
Short answer: How to select a property and transform it? Explain a bit more var employeeEmails = employees.Select(e => e.Name.ToLower() + "@company.com"); foreach (var email in employeeEmails) Console.WriteL…
Short answer: var seq1 = new[] { "Alice", "Bob" }; var seq2 = new[] { "Charlie", "David" }; var concatenated = se Example code var seq1 = new[] { "Alice", "Bob"…
Short answer: var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); va…
Short answer: How to use LINQ to find employees with duplicate names? var duplicates = employees .GroupBy(e => e.Name) .Where(g => g.Count() > 1) .Select(g => g.Key); foreach (var name in duplicates) Console.…
Short answer: Console.WriteLine($"Total Pages: {totalPages}"); .Skip((pageNumber - 1) * pageSize) .Take(pageSize); foreach (var emp in pageData) Console.WriteLine(emp.Name); int pageSize = 2; Example code int t…
Short answer: How to use LINQ to paginate and return total pages? Explain a bit more int pageSize = 2; Follow : int totalItems = employees.Count(); int totalPages = (int)Math.Ceiling(totalItems / (double)pageSize); Conso…
Short answer: Console.WriteLine(joined); var names = employees.Select(e => e.Name); string joined = string.Join(", ", names); Example code Console.WriteLine(joined); var names = employees.Select(e => e.Na…
Short answer: How to join strings in LINQ? var names = employees.Select(e => e.Name); string joined = string.Join(", ", names); Console.WriteLine(joined); Follow : How to join strings in LINQ? var names = em…
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.
LINQ LINQ Tutorial · LINQ
Short answer: How to reverse a sequence using LINQ? var reversed = employees.Select(e => e.Name).Reverse(); foreach (var name in reversed) Console.WriteLine(name); How to reverse a sequence using LINQ? var reversed = employees.Select(e => e.Name).Reverse(); foreach (var name in reversed) Console.WriteLine(name); How to reverse a sequence using LINQ? var reversed =… employees.Select(e => e.Name).Reverse(); foreach (var name in…
reversed) Console.WriteLine(name); How to reverse a sequence using LINQ? var reversed = employees.Select(e => e.Name).Reverse(); foreach (var name in reversed) 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: class EmployeeNameComparer : IEqualityComparer<Employee> { } foreach (var emp in distinctByName) Console.WriteLine(emp.Name); public bool Equals(Employee x, Employee y) => x.Name == y.Name; public int GetHashCode(Employee obj) => obj.Name.GetHashCode(); var distinctByName = employees.Distinct(new EmployeeNameComparer());
class EmployeeNameComparer : IEqualityComparer<Employee> { } foreach (var emp in distinctByName) Console.WriteLine(emp.Name); public bool Equals(Employee x, Employee y) => x.Name == y.Name;
public int GetHashCode(Employee obj) => obj.Name.GetHashCode();
var distinctByName = employees.Distinct(new EmployeeNameComparer());
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 a distinct with a custom comparer? class EmployeeNameComparer : IEqualityComparer<Employee> public bool Equals(Employee x, Employee y) => x.Name == y.Name; public int GetHashCode(Employee obj) => obj.Name.GetHashCode(); var distinctByName = employees.Distinct(new EmployeeNameComparer()); foreach (var emp in distinctByName) Console.WriteLine(emp.Name); How to perform a distinct with a custom comparer?
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 allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT =…
employees.All(e => e.Department == "IT");
bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "IT"); bool allInIT = employees.All(e => e.Department == "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: var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e =>…
e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() +
var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() + var employeeEmails = employees.Select(e => e.Name.ToLower() +
ShopNest maps entities to DTOs with .Select(o => new OrderSummaryDto { Id = o.Id, Total = o.Total }) so the API does not leak internal fields.
LINQ LINQ Tutorial · LINQ
Short answer: How to select a property and transform it?
var employeeEmails = employees.Select(e => e.Name.ToLower() + "@company.com"); foreach (var email in employeeEmails) Console.WriteLine(email); How to select a property and transform it? var employeeEmails = employees.Select(e => e.Name.ToLower() + "@company.com"); foreach (var email in employeeEmails) Console.WriteLine(email); How to select a property and transform it? var employeeEmails = employees.Select(e => e.Name.ToLower() + "@company.com"); foreach (var email in employeeEmails) Console.WriteLine(email); How to select a property and transform it? var employeeEmails = employees.Select(e => e.Name.ToLower() + "@company.com"); foreach (var email in employeeEmails) Console.WriteLine(email);
ShopNest maps entities to DTOs with .Select(o => new OrderSummaryDto { Id = o.Id, Total = o.Total }) so the API does not leak internal fields.
LINQ LINQ Tutorial · LINQ
Short answer: var seq1 = new[] { "Alice", "Bob" }; var seq2 = new[] { "Charlie", "David" }; var concatenated = se
var seq1 = new[] { "Alice", "Bob" };
var seq2 = new[] { "Charlie", "David" };
var concatenated = se
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 duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key);
var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.Key); var duplicates = employees .Select(g => g.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: How to use LINQ to find employees with duplicate names? var duplicates = employees .GroupBy(e => e.Name) .Where(g => g.Count() > 1) .Select(g => g.Key); foreach (var name in duplicates) Console.WriteLine(name); How to use LINQ to find employees with duplicate 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: Console.WriteLine($"Total Pages: {totalPages}"); .Skip((pageNumber - 1) * pageSize) .Take(pageSize); foreach (var emp in pageData) Console.WriteLine(emp.Name); int pageSize = 2;
int totalItems = employees.Count();
int totalPages = (int)Math.Ceiling(totalItems / (double)pageSize);
int pageNumber = 2;
var pageData = 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 paginate and return total pages?
int pageSize = 2; Follow : int totalItems = employees.Count(); int totalPages = (int)Math.Ceiling(totalItems / (double)pageSize); Console.WriteLine($"Total Pages: {totalPages}"); int pageNumber = 2; var pageData = employees .Skip((pageNumber - 1) * pageSize) .Take(pageSize); foreach (var emp in pageData) Console.WriteLine(emp.Name); How to use LINQ to paginate and return total pages?
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: Console.WriteLine(joined); var names = employees.Select(e => e.Name); string joined = string.Join(", ", names);
Console.WriteLine(joined); var names = employees.Select(e => e.Name);
string joined = string.Join(", ", names);
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 join strings in LINQ? var names = employees.Select(e => e.Name); string joined = string.Join(", ", names); Console.WriteLine(joined); Follow : How to join strings in LINQ? var names = employees.Select(e => e.Name); string joined = string.Join(", ", names); Console.WriteLine(joined); Follow : How to join strings in LINQ? var names = employees.Select(e… => e.Name); string joined = string.Join(", ", names);…
Console.WriteLine(joined); Follow : How to join strings in LINQ? var names = employees.Select(e => e.Name); string joined = string.Join(", ", names); Console.WriteLine(joined); Follow :
A sales report joins orders and customers, then GroupBy(c => c.City) to show revenue per city.