Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
int MatrixChainOrder(int[] dims) { int n = dims.Length - 1; int[,] dp = new int[n, n]; for (int l = 2; l <= n; l++) { Follow on: for (int i = 0; i < n - l + 1; i++) { int j = i + l - 1; dp[i, j] = int.MaxValue; for…
rray.Reverse(words); string result = string.Join(" ", words); What interviewers expect A clear definition tied to Coding Scenarios in C# Coding Interview projects Trade-offs (performance, maintainability, security, cost)…
Answer: rray.Reverse(matrix[i]); } } Explanation: Transpose matrix and then reverse each row to rotate 90° clockwise. What interviewers expect A clear definition tied to Coding in C# Coding Interview projects Trade-offs…
public void RotateMatrix(int[][] matrix) { int n = matrix.Length; // Transpose for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { int temp = matrix[i][j]; matrix[i][j] = matrix[j][i]; matrix[j][i] = te…
Follow on: List<string> GenerateParenthesis(int n) { List<string> result = new List<string>(); Generate("", 0, 0, n, result); return result; } void Generate(string current, int open, int close, int max,…
long LargestPrimeFactor(long n) { long maxPrime = -1; while (n % 2 == 0) { maxPrime = 2; n /= 2; } for (long i = 3; i * i <= n; i += 2) { while (n % i == 0) { maxPrime = i; n /= i; } } if (n > 2) maxPrime = n; retu…
Integers int FindMissingNumber(int[] nums) { int low = 0, high = nums.Length - 1; while (low <= high) { int mid = low + (high - low) / 2; if (nums[mid] == mid) low = mid + 1; else high = mid - 1; } return low; } Expla…
bool CanPartition(int[] nums) { int sum = nums.Sum(); Follow on: if (sum % 2 != 0) return false; int target = sum / 2; bool[] dp = new bool[target + 1]; dp[0] = true; foreach (int num in nums) { for (int j = target; j &g…
Answer: bool IsPalindrome(string str) { int left = 0, right = str.Length - 1; while (left &lt; right) { if (str[left] != str[right]) return false; left++; right--; } return true; } What interviewers expect A clear de…
Answer: int[] arr = { 3, 5, 1, 5, 2 }; HashSet&lt;int&gt; set = new HashSet&lt;int&gt;(); foreach (int num in arr) { if (!set.Add(num)) { Console.WriteLine(num); break; } } What interviewers expect A clea…
int[] a = { 1, 3, 5 }; int[] b = { 2, 4, 6 }; int i = 0, j = 0; List<int> result = new List<int>(); while (i < a.Length && j < b.Length) result.Add(a[i] < b[j] ? a[i++] : b[j++]); while (i &l…
Answer: string sentence = "CSharp makes backend development powerful"; string[] words = sentence.Split(' '); string longest = words[0]; foreach (string word in words) { if (word.Length &gt; longest.Length) longest =…
List<object> list = new List<object> { 1, new List<int> { 2, 3 }, 4 }; List<int> result = new List<int>(); void Flatten(List<object> input) { foreach (var item in input) { if (item is…
rr[j] = arr[j + 1]; rr[j + 1] = temp; } } } What interviewers expect A clear definition tied to Coding Scenarios in C# Coding Interview projects Trade-offs (performance, maintainability, security, cost) When you would an…
Answer: string input = "DotNet"; Dictionary&lt;char, int&gt; map = new Dictionary&lt;char, int&gt;(); foreach (char c in input.ToLower()) map[c] = map.ContainsKey(c) ? map[c] + 1 : 1; What interviewers ex…
Answer: bool IsSorted(int[] arr) { for (int i = 0; i &lt; arr.Length - 1; i++) { if (arr[i] &gt; arr[i + 1]) return false; } return true; } What interviewers expect A clear definition tied to Coding Scenarios in…
string input = "Dot@Net#2024!"; StringBuilder sb = new StringBuilder(); foreach (char c in input) { if (char.IsLetterOrDigit(c)) sb.Append(c); } string result = sb.ToString(); Final Notes These questions frequently appea…
C# Coding Interview C# Programming Tutorial · Coding
int MatrixChainOrder(int[] dims)
{
int n = dims.Length - 1;
int[,] dp = new int[n, n];
for (int l = 2; l <= n; l++)
{
Follow on:
for (int i = 0; i < n - l + 1; i++)
{
int j = i + l - 1;
dp[i, j] = int.MaxValue;
for (int k = i; k < j; k++)
{
int cost = dp[i, k] + dp[k + 1, j] + dims[i] *
dims[k + 1] * dims[j + 1];
dp[i, j] = Math.Min(dp[i, j], cost);
}
}
}
return dp[0, n - 1];
}
Explanation:
DP calculates minimal cost to multiply chain of matrices by trying all partitions.
C# Coding Interview C# Programming Tutorial · Coding Scenarios
rray.Reverse(words); string result = string.Join(" ", words);
In a production C# Coding Interview application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
C# Coding Interview C# Programming Tutorial · Coding
Answer: rray.Reverse(matrix[i]); } } Explanation: Transpose matrix and then reverse each row to rotate 90° clockwise.
In a production C# Coding Interview application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
C# Coding Interview C# Programming Tutorial · Coding
public void RotateMatrix(int[][] matrix) {
int n = matrix.Length;
// Transpose
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
// Reverse each row
for (int i = 0; i < n; i++) {
Array.Reverse(matrix[i]);
Explanation:
Transpose matrix and then reverse each row to rotate 90° clockwise.
C# Coding Interview C# Programming Tutorial · Coding
Follow on:
List<string> GenerateParenthesis(int n)
{
List<string> result = new List<string>();
Generate("", 0, 0, n, result);
return result;
}
void Generate(string current, int open, int close, int max,
List<string> result)
{
if (current.Length == max * 2)
{
result.Add(current);
return;
}
if (open < max)
Generate(current + "(", open + 1, close, max, result);
if (close < open)
Generate(current + ")", open, close + 1, max, result);
}
Explanation:
Use backtracking to add '(' and ')' only when valid.
C# Coding Interview C# Programming Tutorial · Coding
long LargestPrimeFactor(long n)
{
long maxPrime = -1;
while (n % 2 == 0)
{
maxPrime = 2;
n /= 2;
}
for (long i = 3; i * i <= n; i += 2)
{
while (n % i == 0)
{
maxPrime = i;
n /= i;
}
}
if (n > 2) maxPrime = n;
return maxPrime;
}
Follow on:
Explanation:
Divide out factors of 2, then test odd factors; leftover > 2 is prime.
Miscellaneous Problems
C# Coding Interview C# Programming Tutorial · Coding
Integers
int FindMissingNumber(int[] nums)
{
int low = 0, high = nums.Length - 1;
while (low <= high)
{
int mid = low + (high - low) / 2;
if (nums[mid] == mid)
low = mid + 1;
else
high = mid - 1;
}
return low;
}
Explanation:
In perfect array nums[i] == i; missing number breaks this property, use binary search to find
breakpoint.
Mathematical Problems
C# Coding Interview C# Programming Tutorial · Coding
bool CanPartition(int[] nums)
{
int sum = nums.Sum();
Follow on:
if (sum % 2 != 0) return false;
int target = sum / 2;
bool[] dp = new bool[target + 1];
dp[0] = true;
foreach (int num in nums)
{
for (int j = target; j >= num; j--)
{
dp[j] = dp[j] || dp[j - num];
}
}
return dp[target];
}
Explanation:
Subset sum to check if half the total sum is achievable.
Sorting and Searching
C# Coding Interview C# Programming Tutorial · Coding Scenarios
Answer: bool IsPalindrome(string str) { int left = 0, right = str.Length - 1; while (left < right) { if (str[left] != str[right]) return false; left++; right--; } return true; }
In a production C# Coding Interview application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
C# Coding Interview C# Programming Tutorial · Coding Scenarios
Answer: int[] arr = { 3, 5, 1, 5, 2 }; HashSet<int> set = new HashSet<int>(); foreach (int num in arr) { if (!set.Add(num)) { Console.WriteLine(num); break; } }
In a production C# Coding Interview application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
C# Coding Interview C# Programming Tutorial · Coding Scenarios
int[] a = { 1, 3, 5 };
int[] b = { 2, 4, 6 };
int i = 0, j = 0;
List<int> result = new List<int>();
while (i < a.Length && j < b.Length)
result.Add(a[i] < b[j] ? a[i++] : b[j++]);
while (i < a.Length) result.Add(a[i++]);
while (j < b.Length) result.Add(b[j++]);
C# Coding Interview C# Programming Tutorial · Coding Scenarios
Answer: string sentence = "CSharp makes backend development powerful"; string[] words = sentence.Split(' '); string longest = words[0]; foreach (string word in words) { if (word.Length > longest.Length) longest = word; }
In a production C# Coding Interview application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
C# Coding Interview C# Programming Tutorial · Coding Scenarios
List<object> list = new List<object> { 1, new List<int> { 2, 3 }, 4
};
List<int> result = new List<int>();
void Flatten(List<object> input)
{
foreach (var item in input)
{
if (item is int)
result.Add((int)item);
else
Flatten((List<object>)item);
}
}C# Coding Interview C# Programming Tutorial · Coding Scenarios
rr[j] = arr[j + 1]; rr[j + 1] = temp; } } }
In a production C# Coding Interview application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
C# Coding Interview C# Programming Tutorial · Coding Scenarios
Answer: string input = "DotNet"; Dictionary<char, int> map = new Dictionary<char, int>(); foreach (char c in input.ToLower()) map[c] = map.ContainsKey(c) ? map[c] + 1 : 1;
In a production C# Coding Interview application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
C# Coding Interview C# Programming Tutorial · Coding Scenarios
Answer: bool IsSorted(int[] arr) { for (int i = 0; i < arr.Length - 1; i++) { if (arr[i] > arr[i + 1]) return false; } return true; }
In a production C# Coding Interview application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
C# Coding Interview C# Programming Tutorial · Coding Scenarios
string input = "Dot@Net#2024!";
StringBuilder sb = new StringBuilder();
foreach (char c in input)
{
if (char.IsLetterOrDigit(c))
sb.Append(c);
}
string result = sb.ToString();
Final Notes