Types, collections, LINQ, async and the language features .NET interviewers probe first.
Write a private async Task<int> helper that returns its argument
doubled, then implement the public entry point
SumDoubled(List<int> numbers). SumDoubled itself is synchronous: it
must start one helper task per number, await them all with
An unreliable async operation is scripted by outcomes: attempt number
i (zero-based) succeeds when outcomes[i] is true. Implement
AttemptsUntilSuccess(List<bool> outcomes, int maxAttempts).
Implement GroupByLength(List<string> words) returning a
Dictionary<int, int> from word length to how many words have that
length. Ignore null and empty strings.
Implement AboveThreshold(List<int> numbers, int threshold) that returns
the distinct values strictly greater than threshold, sorted ascending,
as a List<int>. Return an empty list when nothing qualifies.
Implement FirstIndexes(List<string> words) returning a
Dictionary<string, int> that maps every distinct word to the index of
its first occurrence in the original list. Skip null entries, but do not
renumber: an entry's index is its position in the input list. Comparison
Implement TopByFrequency(List<string> items, int n) returning the n
most frequent items as a List<string>, most frequent first. Break ties
alphabetically (ordinal). Ignore null and empty strings. If n is
larger than the number of distinct items, return all of them; if n is