Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
Short answer: LINQ Distinct()) Logic Use a HashSet to track seen elements. Add elements only if they are not already present. int[] arr = { 1, 2, 3, 2, 4, 1 }; HashSet<int> set = new HashSet<int>(); List<i…
Short answer: = b; b = temp; } return b; } Explanation: Iterative DP approach; each Fibonacci number is sum of two previous. Explain a bit more Follow on: = b; b = temp; } return b; } Explanation: Iterative DP approach;…
Short answer: element appears twice public int SingleNonRepeated(int[] nums) { Example code int result = 0; foreach (int num in nums) { result ^= num; } return result; } Explanation: XOR of a number with itself is 0; XOR…
Short answer: public List<int> FindAnagrams(string s, string p) { List<int> result = new List<int>(); if (p.Length > s.Length) return result; int[] pCount = new int[26]; int[] sCount = new int[26]; F…
Short answer: public List<int> PrimeFactors(int n) { List<int> factors = new List<int>(); // Print the number of 2s that divide n while (n % 2 == 0) { factors.Add(2); n /= 2; } // n must be odd at this…
Short answer: public int FindKthLargest(int[] nums, int k) { return QuickSelect(nums, 0, nums.Length - 1, nums.Length - k); } private int QuickSelect(int[] nums, int left, int right, int kSmallest) { if (left == right) r…
Short answer: int UniquePaths(int m, int n) { int[,] dp = new int[m, n]; for (int i = 0; i < m; i++) dp[i, 0] = 1; for (int j = 0; j < n; j++) dp[0, j] = 1; for (int i = 1; i < m; i++) { for (int j = 1; j < n…
Short answer: void BFS(Dictionary<int, List<int>> graph, int start) { var visited = new HashSet<int>(); var queue = new Queue<int>(); queue.Enqueue(start); visited.Add(start); while (queue.Count &…
Short answer: Azure DevOps includes built-in Analytics and Reporting tools to help track performance, quality, and productivity. Common reports: Pipeline Analytics: Success/failure trends, duration, frequency of builds.…
Short answer: Common tasks: UseDotNet@2 → Installs .NET SDK. NuGetCommand@2 → Restores NuGet packages. Real-world example (ShopNest) ShopNest’s YAML pipeline builds on every PR, runs unit tests, then deploys to a staging…
Short answer: Feature Git TFVC Type Distributed Centralized History Full copy on each developer’s machine Stored on server Branching Lightweight and fast Heavier and slower Offline work Possible Needs connection Common u…
Short answer: What tasks are commonly used in .NET build pipelines? Answer: Common tasks: UseDotNet@2 → Installs .NET SDK. NuGetCommand@2 → Restores NuGet packages. DotNetCoreCLI@2 → Builds, tests, and publishes your app…
Short answer: What is a project in Azure DevOps and what resources can it include? Explain a bit more Answer: A project in Azure DevOps is like a container for everything related to a specific application or product. It…
Short answer: company using Jenkins moves to Azure DevOps to unify code and pipelines. They convert Jenkinsfile logic to YAML, using tasks like DotNetCoreCLI@2 and zureWebApp@1. Real-world example (ShopNest) ShopNest’s Y…
Short answer: .NET Core API gets built automatically when code is pushed to main. If tests pass, it’s deployed to staging — and after approval, to production. Real-world example (ShopNest) A “Add UPI payment” feature is…
Short answer: Zero-downtime means your API stays live while deploying new versions. Ways to achieve it: Use Azure App Service Deployment Slots (swap after warm-up). Real-world example (ShopNest) ShopNest’s YAML pipeline…
Short answer: A project in Azure DevOps is like a container for everything related to a specific application or product. It can include: Code repositories Work items (stories, bugs) Pipelines (build/release) Test cases A…
Short answer: How do you restore NuGet packages in a build pipeline? Answer: Use either: script: dotnet restore or task: NuGetCommand@2 inputs: command: 'restore' This pulls dependencies from NuGet.org or an internal fee…
Short answer: Azure Artifacts is a service in Azure DevOps that lets you store, share, and manage packages like NuGet, npm, Maven, or Python packages — all in one secure place. It’s basically your private package feed, j…
Short answer: Azure Artifacts is a service in Azure DevOps that lets you store, share, and manage packages like NuGet, npm, Maven, or Python packages — all in one secure place. It’s basically your private package feed, j…
Short answer: How do you perform rollback in case of a failed deployment? Explain a bit more Answer: There are several ways: Use deployment slots — just swap back to the previous slot. Re-deploy a previous successful rel…
Short answer: How do you run unit tests and publish test results in a pipeline? Answer: You use the DotNetCoreCLI@2 task with test command and publish results. Example (YAML): task: DotNetCoreCLI@2 inputs: command: 'test…
Short answer: What are service connections in Azure DevOps? Answer: A service connection is a secure link between Azure DevOps and external systems (like Azure, AWS, GitHub, or Docker Hub). Example: If your pipeline need…
Short answer: What is the purpose of the dotnet build, dotnet test, and dotnet publish commands in pipelines? Answer: dotnet build → Compiles your code and checks for errors. dotnet test → Runs all your unit tests. dotne…
Short answer: What is the difference between an organization, project, and repository in Azure DevOps? Answer: Organization: The top-level container (like a company or department). Project: A workspace for a specific pro…
C# Coding Interview C# Programming Tutorial · Coding Scenarios
Short answer: LINQ Distinct()) Logic Use a HashSet to track seen elements. Add elements only if they are not already present. int[] arr = { 1, 2, 3, 2, 4, 1 }; HashSet<int> set = new HashSet<int>(); List<int> result = new List<int>(); foreach (int num in arr) { if (!set.Contains(num)) { set.Add(num); result.Add(num); } } Why this works: HashSet ensures uniqueness with O(1) lookup.
LINQ Distinct()) Logic Use a HashSet to track seen elements. Add elements only if they are not already present. int[] arr = { 1, 2, 3, 2, 4, 1 };
HashSet<int> set = new HashSet<int>();
List<int> result = new List<int>();
foreach (int num in arr)
{
if (!set.Contains(num))
{ set.Add(num); result.Add(num); }
} Why this works: HashSet ensures uniqueness with O(1) lookup.
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
C# Coding Interview C# Programming Tutorial · Coding
Short answer: = b; b = temp; } return b; } Explanation: Iterative DP approach; each Fibonacci number is sum of two previous.
Follow on: = b; b = temp; } return b; } Explanation: Iterative DP approach; each Fibonacci number is sum of two previous. Follow on: = b; b = temp; } return b; } Explanation: Iterative DP approach; each Fibonacci number is sum of two previous. Follow on: = b; b = temp; } return b; } Explanation: Iterative DP approach; each Fibonacci number is sum of two previous. Follow on:
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
C# Coding Interview C# Programming Tutorial · Coding
Short answer: element appears twice public int SingleNonRepeated(int[] nums) {
int result = 0;
foreach (int num in nums) {
result ^= num;
}
return result;
} Explanation: XOR of a number with itself is 0; XOR with 0 is the number. So duplicates cancel out, leaving the unique number. Follow on:
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
C# Coding Interview C# Programming Tutorial · Coding
Short answer: public List<int> FindAnagrams(string s, string p) { List<int> result = new List<int>(); if (p.Length > s.Length) return result; int[] pCount = new int[26]; int[] sCount = new int[26]; Follow on: for (int i = 0; i < p.Length; i++) { pCount[p[i] - 'a']++; sCount[s[i] - 'a']++; } if (Enumerable.SequenceEqual(pCount, sCount)) result.Add(0); for (int i = p.Length; i < s.Length; i++) { sCount[s[i] - 'a']++; sCount[s[i - p.
Length] - 'a']--; if (Enumerable.SequenceEqual(pCount, sCount)) result.Add(i - p.Length + 1); } return result; } Explanation: Sliding window with frequency count arrays for the pattern and current window.
public List<int> FindAnagrams(string s, string p) {
List<int> result = new List<int>();
if (p.Length > s.Length) return result;
int[] pCount = new int[26];
int[] sCount = new int[26]; Follow on: for (int i = 0; i < p.Length; i++) { pCount[p[i] - 'a']++; sCount[s[i] - 'a']++; }
if (Enumerable.SequenceEqual(pCount, sCount)) result.Add(0); for (int i = p.Length; i < s.Length; i++) { sCount[s[i] - 'a']++; sCount[s[i - p.Length] - 'a']--; if (Enumerable.SequenceEqual(pCount, sCount)) result.Add(i - p.Length + 1); }
return result;
} Explanation: Sliding window with frequency count arrays for the pattern and current window.
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
C# Coding Interview C# Programming Tutorial · Coding
Short answer: public List<int> PrimeFactors(int n) { List<int> factors = new List<int>(); // Print the number of 2s that divide n while (n % 2 == 0) { factors.Add(2); n /= 2; } // n must be odd at this point for (int i = 3; i * i <= n; i += 2) { while (n % i == 0) { factors.Add(i); n /= i; } } Follow on: // If n is a prime number > 2 if (n > 2) { factors.Add(n); } return factors; } Explanation: We repeatedly divide by 2, then…
check odd factors up to √n. If leftover n > 2, it's prime.
public List<int> PrimeFactors(int n) {
List<int> factors = new List<int>(); // Print the number of 2s that divide n while (n % 2 == 0) { factors.Add(2); n /= 2;
} // n must be odd at this point for (int i = 3; i * i <= n; i += 2) { while (n % i == 0) { factors.Add(i); n /= i;
}
} Follow on: // If n is a prime number > 2 if (n > 2) { factors.Add(n); }
return factors;
} Explanation: We repeatedly divide by 2, then check odd factors up to √n. If leftover n > 2, it's prime.
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
C# Coding Interview C# Programming Tutorial · Coding
Short answer: public int FindKthLargest(int[] nums, int k) { return QuickSelect(nums, 0, nums.Length - 1, nums.Length - k); } private int QuickSelect(int[] nums, int left, int right, int kSmallest) { if (left == right) return nums[left]; int pivotIndex = Partition(nums, left, right); if (kSmallest == pivotIndex) return nums[kSmallest]; else if (kSmallest < pivotIndex) return QuickSelect(nums, left, pivotIndex - 1, kSmallest);…
else return QuickSelect(nums, pivotIndex + 1, right, kSmallest); } private int Partition(int[] nums, int left, int right) { int pivot = nums[right]; int i = left; for (int j = left; j < right; j++) { if (nums[j] <= pivot) { Swap(nums, i, j); i++; } } Swap(nums, i, right); return i; } private void Swap(int[] nums, int i, int j) { int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; } Follow on: Explanation: Quickselect partitions the array like Quicksort and recursively searches for the kth smallest element. Here, nums.Length - k gives the kth largest.
public int FindKthLargest(int[] nums, int k) {
return QuickSelect(nums, 0, nums.Length - 1, nums.Length - k);
}
private int QuickSelect(int[] nums, int left, int right, int kSmallest) { if (left == right) return nums[left];
int pivotIndex = Partition(nums, left, right);
if (kSmallest == pivotIndex)
return nums[kSmallest]; else if (kSmallest < pivotIndex) return QuickSelect(nums, left, pivotIndex - 1, kSmallest); else return QuickSelect(nums, pivotIndex + 1, right, kSmallest);
}
private int Partition(int[] nums, int left, int right) {
int pivot = nums[right];
int i = left;
for (int j = left; j < right; j++) {
if (nums[j] <= pivot) { Swap(nums, i, j); i++; }
} Swap(nums, i, right); return i;
}
private void Swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
} Follow on: Explanation: Quickselect partitions the array like Quicksort and recursively searches for the kth smallest element. Here, nums.Length - k gives the kth largest.
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
C# Coding Interview C# Programming Tutorial · Coding
Short answer: int UniquePaths(int m, int n) { int[,] dp = new int[m, n]; for (int i = 0; i < m; i++) dp[i, 0] = 1; for (int j = 0; j < n; j++) dp[0, j] = 1; for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { dp[i, j] = dp[i - 1, j] + dp[i, j - 1]; } } return dp[m - 1, n - 1]; } Follow on:
int UniquePaths(int m, int n) {
int[,] dp = new int[m, n];
for (int i = 0; i < m; i++) dp[i, 0] = 1;
for (int j = 0; j < n; j++) dp[0, j] = 1;
for (int i = 1; i < m; i++) {
for (int j = 1; j < n; j++) {
dp[i, j] = dp[i - 1, j] + dp[i, j - 1];
}
}
return dp[m - 1, n - 1];
} Follow on:
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
C# Coding Interview C# Programming Tutorial · Coding
Short answer: void BFS(Dictionary<int, List<int>> graph, int start) { var visited = new HashSet<int>(); var queue = new Queue<int>(); queue.Enqueue(start); visited.Add(start); while (queue.Count > 0) { int node = queue.Dequeue(); Console.WriteLine(node); foreach (var neighbor in graph[node]) { if (!visited.Contains(neighbor)) { visited.Add(neighbor); queue.Enqueue(neighbor); } } } } Explanation: Classic BFS using a queue and…
void BFS(Dictionary<int, List<int>> graph, int start) { var visited = new HashSet<int>();
var queue = new Queue<int>(); queue.Enqueue(start); visited.Add(start); while (queue.Count > 0) { int node = queue.Dequeue(); Console.WriteLine(node); foreach (var neighbor in graph[node]) {
if (!visited.Contains(neighbor)) { visited.Add(neighbor); queue.Enqueue(neighbor); }
}
}
} Explanation: Classic BFS using a queue and visited set.
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: Azure DevOps includes built-in Analytics and Reporting tools to help track performance, quality, and productivity. Common reports: Pipeline Analytics: Success/failure trends, duration, frequency of builds.
ShopNest’s YAML pipeline builds on every PR, runs unit tests, then deploys to a staging slot on main-branch merges.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: Common tasks: UseDotNet@2 → Installs .NET SDK. NuGetCommand@2 → Restores NuGet packages.
ShopNest’s YAML pipeline builds on every PR, runs unit tests, then deploys to a staging slot on main-branch merges.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: Feature Git TFVC Type Distributed Centralized History Full copy on each developer’s machine Stored on server Branching Lightweight and fast Heavier and slower Offline work Possible Needs connection Common use Modern DevOps projects Legacy TFS projects Example: In Git, you can commit locally even offline on a flight — with TFVC, you’d need… server ccess.
Git is now the default in Azure DevOps for flexibility and collaboration.
Azure DevOps holds ShopNest repos, boards, and release pipelines in one place so build + deploy stay repeatable.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: What tasks are commonly used in .NET build pipelines? Answer: Common tasks: UseDotNet@2 → Installs .NET SDK. NuGetCommand@2 → Restores NuGet packages. DotNetCoreCLI@2 → Builds, tests, and publishes your app. PublishBuildArtifacts@1 → Stores your compiled output. Example: A .NET Core pipeline may use: task: DotNetCoreCLI@2 inputs: command: 'build'
ShopNest’s YAML pipeline builds on every PR, runs unit tests, then deploys to a staging slot on main-branch merges.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: What is a project in Azure DevOps and what resources can it include?
Answer: A project in Azure DevOps is like a container for everything related to a specific application or product. It can include: Code repositories Work items (stories, bugs) Pipelines (build/release) Test cases Artifacts Example: You might have a project named “ShoppingCartApp” that includes its code repo, CI/CD pipeline, and all user stories related to that app.
Azure DevOps holds ShopNest repos, boards, and release pipelines in one place so build + deploy stay repeatable.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: company using Jenkins moves to Azure DevOps to unify code and pipelines. They convert Jenkinsfile logic to YAML, using tasks like DotNetCoreCLI@2 and zureWebApp@1.
ShopNest’s YAML pipeline builds on every PR, runs unit tests, then deploys to a staging slot on main-branch merges.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: .NET Core API gets built automatically when code is pushed to main. If tests pass, it’s deployed to staging — and after approval, to production.
A “Add UPI payment” feature is a User Story with Tasks. Testers link bugs to the same work item for traceability.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: Zero-downtime means your API stays live while deploying new versions. Ways to achieve it: Use Azure App Service Deployment Slots (swap after warm-up).
ShopNest’s YAML pipeline builds on every PR, runs unit tests, then deploys to a staging slot on main-branch merges.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: A project in Azure DevOps is like a container for everything related to a specific application or product. It can include: Code repositories Work items (stories, bugs) Pipelines (build/release) Test cases Artifacts Example: You might have a project named “ShoppingCartApp” that includes its code repo, CI/CD pipeline, and all user stories related to that app.
A “Add UPI payment” feature is a User Story with Tasks. Testers link bugs to the same work item for traceability.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: How do you restore NuGet packages in a build pipeline? Answer: Use either: script: dotnet restore or task: NuGetCommand@2 inputs: command: 'restore' This pulls dependencies from NuGet.org or an internal feed. Example: If your project uses private packages, you can add a NuGet service connection or Azure Artifacts feed to authenticate.
ShopNest’s YAML pipeline builds on every PR, runs unit tests, then deploys to a staging slot on main-branch merges.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: Azure Artifacts is a service in Azure DevOps that lets you store, share, and manage packages like NuGet, npm, Maven, or Python packages — all in one secure place. It’s basically your private package feed, just like NuGet.org, but private to your organization.
Azure DevOps holds ShopNest repos, boards, and release pipelines in one place so build + deploy stay repeatable.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: Azure Artifacts is a service in Azure DevOps that lets you store, share, and manage packages like NuGet, npm, Maven, or Python packages — all in one secure place. It’s basically your private package feed, just like NuGet.org, but private to your organization.
Azure DevOps holds ShopNest repos, boards, and release pipelines in one place so build + deploy stay repeatable.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: How do you perform rollback in case of a failed deployment?
Answer: There are several ways: Use deployment slots — just swap back to the previous slot. Re-deploy a previous successful release in Azure DevOps. Use versioned artifacts — keep your last working package and redeploy it. Example: If your new API build breaks production, you can quickly redeploy the previous successful release version from Azure DevOps → Releases → “Redeploy”.
Azure DevOps holds ShopNest repos, boards, and release pipelines in one place so build + deploy stay repeatable.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: How do you run unit tests and publish test results in a pipeline? Answer: You use the DotNetCoreCLI@2 task with test command and publish results. Example (YAML): task: DotNetCoreCLI@2 inputs: command: 'test' projects: '**/*Tests.csproj' publishTestResults: true Azure Pipelines will then display test results (passed, failed, duration) in the build summary.
ShopNest’s YAML pipeline builds on every PR, runs unit tests, then deploys to a staging slot on main-branch merges.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: What are service connections in Azure DevOps? Answer: A service connection is a secure link between Azure DevOps and external systems (like Azure, AWS, GitHub, or Docker Hub). Example: If your pipeline needs to deploy code to Azure App Service, you create an Azure Resource Manager service connection. It stores credentials securely so the pipeline can deploy automatically.
Azure DevOps holds ShopNest repos, boards, and release pipelines in one place so build + deploy stay repeatable.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: What is the purpose of the dotnet build, dotnet test, and dotnet publish commands in pipelines? Answer: dotnet build → Compiles your code and checks for errors. dotnet test → Runs all your unit tests. dotnet publish → Packages your app for deployment (e.g., to Azure Web App).
In a pipeline: script: dotnet build script: dotnet test script: dotnet publish -c Release -o $(Build.ArtifactStagingDirectory) The final publish step outputs deployable files like .dll or .zip.
Azure DevOps Microsoft Azure Tutorial · DevOps
Short answer: What is the difference between an organization, project, and repository in Azure DevOps? Answer: Organization: The top-level container (like a company or department). Project: A workspace for a specific product or app. Repository: Where your source code lives. Example: Organization: ContosoTech → Project: MobileApp → Repository: ContosoApp-Frontend
Azure DevOps holds ShopNest repos, boards, and release pipelines in one place so build + deploy stay repeatable.