Hi, I’m Brian, a former senior software engineer and now industry mentor at Pathrise. I have worked with hundreds of software engineers to help them land their dream jobs in tech.
Created by Microsoft, C# is a general-purpose programming language that runs on the .NET framework. It is a fairly common software engineering language and many teams use it for a variety of topics. If you are preparing for interviews at a company that makes use of C#, you should practice by working on the types of questions you will likely be asked.
We created a list of 60 C# interview questions from real tech companies and included some tips that will help you during your interviews so you can go in with confidence.
- Amazon question – Given an unsorted array which has a number in the majority (a number appears more than 50% in the array), find that number?
- Google question – How do you merge two sorted linked lists?
- Microsoft question – How do you detect a cycle in a singly linked list?
- Electronic Arts question – How do you remove duplicates from a sorted linked list?
- Google question – Write a program in your favorite programming language i.e. C# or any other preferred method language.
- Intuit question – Write a function to remove duplicate characters from String?
- Amazon question – How do you calculate factorial using recursion in C#?
- Microsoft question – How do you find the sum of digits of a number using Recursion?
- Google question – How do you use an algorithm to check if a number is Prime or not?
- 23andMe question – How do you use an algorithm to check if a number is Palindrome?
- Amazon question – How do you use an algorithm to find if Array contains duplicates?
- Microsoft question – How do you rotate an array by a given pivot?
- Infosys question – What is Function Overloading and Operator Overloading?
- Infosys question – What potential problems can arise from Type Casting a Base Class Pointer into a Derived Class Pointer so that the Derived Class’s Member Functions can be called?
- IBM question – What is OOP, and explain each part?
- 23andMe question – Explain garbage collection and how it works in C#.
- Intuit question – What does SDLC stand for and explain each part.
- IBM question – What is agile and waterfall?
- What are some features of C# that make it a popular language choice?
- 23andMe question – Implement a fibonacci sequence.
- Accenture question – What is the difference between overloading and overriding?
- ACI Worldwide question – What is the difference between vector and arraylist?
- Accenture question – What is the difference between encapsulation and abstraction?
- What are polymorphism, inheritance, and abstraction?
- Amazon question – What is inheritance in regards to object oriented programming?
- FIS question – What is the difference between Interface and Abstract Class?
- Google question – Write a program to print a given pattern?
- Microsoft question – What are relational databases?
- What is the difference between i++ and ++i?
- Electronic Arts question – How would you explain servlets to 5yr old kids?
- Infosys question – What is the difference between ram memory and cache memory
- 23andMe question – What are the differences between open loop and closed loop?
- ACI Worldwide question – What are strings?
- IBM question – How do you create a class which has the same functionality as string?
- Intuit question – What are exceptions? What are the types of exceptions? How do you create your own exception?
- Amazon question – What is throw and throws? How do you throw an exception?
- What is serializable? How do you make a class serializable? What is the use of a serializable interface?
- What is synchronization?
- What is the difference between array and linked list?
- Adobe question – Evaluate the sum of points based on the words in a string.
- FIS question – How do you find the first non-repeating element in an array?
- Microsoft question – If a customer has an issue with the speed of the data coming back, how would you go about handling that?
- Infosys question – Given a start and an end bound, return a list of all integers between the start and the end for which the digits are factors of the number.
- Google question – Given an array of integers and a target value, write a function that returns True if any two numbers in the array add to target value.
- Microsoft question – You are given an array of integers. What is the fastest way to generate an array where every integer at an index in the array is the product of all numbers in the given array except the number at that given index?
- Intuit question – Write a function that finds the nth fibonacci number. What is the time/space complexity? Best/worst case scenario?
- IBM question – How would you implement a semaphore with mutex?
- Electronic Arts question – How does a mobile app obtain data from a server?
- FIS question – Find a string in an unsorted array of strings.
- Amazon question – Search for a string in a sorted array of strings.
- How would you insert an element into an already sorted linked list to maintain sorted order?
- 23andMe question – Given a binary tree, find the lowest common ancestor of two nodes.
- Google question – Reverse a linked list.
- Microsoft question – Given a list of ranges, merge the ranges that have overlap, and return the resulting ranges.
- IBM question – Traverse a directed graph with cycle, without having to implement hashcode() or equals() in the node class.
- Intuit question – How do you implement a singleton?
- Electronic Arts question – If a user is uploading images and we’re storing them somewhere… How would you name the files and where would they go?
- Amazon question – You are given a rectangle’s height, width, and the x and y coordinates of its upper left-hand corner. Given two rectangles, write code to indicate when there is an intersection between them.
- FIS question – What is a data grid?
- Google question – What is the difference between data grid and grid view?
Our software engineering industry mentors at Pathrise meet with really smart and accomplished candidates who struggle every day with their technical interviews, beyond just the questions they are asked. We wanted to provide some extra tips to help you stay confident in your interviews.
- Take your time at the beginning
Interviewers have been known to ask intentionally vague questions. Start by taking 15-30 seconds and thinking about clarifying questions that you can ask before diving in, like “Are repetitions allowed?” or “Do you want to return permutations or combinations?”
- Be proactive in your work
We always recommend proactively showing positive signal, which means giving small tidbits of information to your interviewer as you go through the challenge. Then, they can get a sense of what you know without having to ask you. It also reduces awkward silences, especially in times when you are thinking and not coding.
- Provide context
The addition of context statements explain to the interviewer why you are making the decisions you are making. This is extremely helpful, especially if you make a mistake while you work. Giving the interviewer the chance to understand your reasoning and can make or break your interview.
- Know how to ask for help
If you are unsure how to continue on with the problem, you should not just sit there and think forever. Instead, give some background to the interviewer and ask if they can help lead you down the right road. For example, you can say, “my assumptions are X and Y, I’m thinking of doing Z. But I’m struggling with solving [problem].” You can also ask collaborative questions like,
- I was wondering if you had any thoughts.
- Do you think I’m going down the right direction?
- Do you think my assumptions are incorrect?
With these questions & tips in your back pocket, you should be more than prepared for your next technical onsite interview. Feel like you need more help? Check out these resources to practice software engineering interview questions.
You can also check out our other interview question lists:
- Java interview questions from top tech companies
- Python interview questions from top tech companies
- C interview questions from top tech companies
- Software engineer interview questions from top tech companies
- Data science interview questions from top tech companies
Pathrise is a career accelerator that works with students and professionals 1-on-1 so they can land their dream job in tech. With these tips and guidance, fellows have seen their interview scores double.
If you want to work with any of our mentors 1-on-1 to get help with your software engineer interviews or with any other aspect of the job search, become a Pathrise fellow.