Coding Interview Questions + Answers
In this article
No matter your experience level, coding interviews are always difficult to prepare for. Thats why weve compiled this comprehensive list of coding interview questions youre likely to be asked. This guide covers technical questions with Python and C# snippets, concept-based questions, and general programming interview questions about yourself and your soft skills.
Write A Code For Heap Sort
#include< stdio.h> // including library files int temp void heapify//declaring functions }void heapSort// providing definition to heap sort }void main // defining main // array initializing with their elements. int i int size = sizeof/sizeof heapSort printf // printing the sorted array for printf }#include < iostream> using namespace std void heapify}void heapSort}//Function to print arrayvoid display cout < < "\n" }int main int n = sizeof/sizeof cout < < "Unsorted array \n" display heapSort cout < < "Sorted array \n" display }// Java program for implementation of Heap Sort public class PrepInsta int len = a.length PrepInsta ob = new PrepInsta ob.sort System.out.println printArray } public void sort } // To heapify a subtree rooted with node i which is // an index in arr. n is size of heap void heapify } /* A utility function to print array of size n */ static void printArray }What Are Dynamic Data Structures
Dynamic data structures have the feature where they expand and contract as a program runs. It provides a very flexible method of data manipulation because adjusts based on the size of the data to be manipulated.
These 20 coding interview questions that test the conceptual understanding of the candidates give the interview a clear idea on how strong the candidates fundamentals are
Read Also: What Are Some Interview Questions For An Administrative Assistant
Common Coding Interview Questions
- Merge two sorted linked lists and return it as a sorted list.
- Given a roman numeral, convert it to an integer.
- Given an array of integers, every element appears twice except for one. Find that one.
- Given a binary tree, print the bottom view from left to right.
- Given an expression string x, examine whether the pairs and the orders of ,, are correct in the expression. For example, the function should return true for and false for ).
- Given two numbers M and N, find the position of the rightmost different bit in the binary representation of numbers.
- Whats the runtime of the following code?
- Design a parking lot using object-oriented principles.
- If you were designing a web crawler, how would you avoid getting into infinite loops?
Why Is Coding Important In The Current Times
Most of the jobs in the current times are done using computers. Starting from the banking industry to the educational industry, each and every industry of the current times is dependent on computers in some way or the other. Therefore, knowledge of computer programming or coding is a must for individuals to get jobs and plan their future. Coding is also learned by individuals as a hobby or is sometimes used by individuals to develop new innovations using the computer system. There are types of coding language such as binary coding and high-level coding which are used for different purposes in computers.
You May Like: How To Conduct A Coding Interview
Given Two Arrays12 34 5 And 23 10 5can You Find Which Number Is Not Present In The Second Array
Examples:
Input : a = b = Output : 4 10
4 and 10 are present in first array, but not in second array.
Input : a = b = Output : 5
Method 1: Naive Approach
Use two loops and check which elements are not present in the second array.
Method 2: Hashing
In this method, we store all elements of the second array in a hash table . Check all elements of the first array and print all those elements which are not present in the hash table.
Miscellaneous Coding Interview Questions
Apart from data structure-based questions, most of the programming job interviews also ask algorithm, design, bit manipulation, and general logic-based questions, which Ill describe in this section.
Its important that you practice these concepts because sometimes they become tricky to solve in the actual interview. Having practiced them before not only makes you familiar with them but also gives you more confidence in explaining the solution to the interviewer.
If you need more such coding questions you can take help from books like Cracking The Code Interview, by Gayle Laakmann McDowellwhich presents 189+ Programming questions and solutions. A good book to prepare for programming job interviews in a short time.
By the way, the more questions you solve in practice, the better your preparation will be. So, if you think 50 is not enough and you need more, then check out these additional 50 programming questionsfor telephone interviews and these books and courses for more thorough preparation.
You May Like: Apple Technical Program Manager Interview
Explain The Types Of Errors That Are Likely To Occur While Running And Executing A Program
When the compiler finds something wrong with the program, there are three kinds of errors:
Syntax Error
A syntax error occurs when the code does not follow the syntax rules of the programming language. These are the easiest errors to find and correct.
Runtime Error
This is an error that takes place while running a program, causing the program to crash or hang.
Logic Error
This is an error in the way that a program works . It is a type of runtime error that may produce the wrong output or cause a program to crash. Logic errors are the hardest to spot because they can be caused by a variety of factors.
What Are Constructors In Java
Constructors refer to code that is used to initialize an object’s state in Java. Employers ask this question to determine whether you have an understanding of the basics of the programming language. Other questions such as, ‘Are there copy constructors in Java?’ and, ‘What is constructor chaining?’ are variations of the question.
Example answer:”A constructor initializes a newly created object. Java supports copy constructor, but you have to write your own code to do it. Constructor chaining is calling a constructor from another constructor. However, you cannot call a sub-class constructor using a super-class constructor.”
Recommended Reading: How To Close An Interview
Best 8 Coding Interview Questions And Their Answers
The best strategy for cracking the coding interview is to prepare better. It is a dream to get into the MAANG companies, but the competition is high. In order to beat the competition, one has to be ready in order to get that dream job!. Let us look at some of the most important coding questions that are asked in interviews hosted by massive companies such as Microsoft, IBM, Google, etc.
1. How can you find the first non-repeated character in a word?
In order to answer this question, you first need to understand what must be done to promote this function. A function needs to be written that accepts strings and returns the first non-repeated characters.
For example, in the word, passage, p is the first non-repeated character or in the word, turtle, u is the first non-repeated character. So, how do we solve this problem? We can create a table for storing the repetitions for all the characters and then select the first entries that are not repeated.
Check out our Java Bootcamp designed to upskill working professionals.
In order to write a code that will return the first non-repeated letters, we can use Linked Hash Map to store the character count. This HashMap follows the order of the insertion and characters are initialized in the same position as in the string. The scanned string must be iterated using Linked Hash Map to choose the required entry with the value of 1.
upGrads Exclusive Software and Tech Webinar for you
SAAS Business What is So Different?
Pay Attention To Your Body Language
Your body language and that of the interviewer can largely dictate how youre perceived as a candidate and how well the interview goes.
Being sweaty or clammy in an interview can make you seem unable to handle the pressures of the coding job youre applying for.
Bad posture can make you look lazy, even unattractive, and can trigger unconscious biases in the interviewers mind.
Tapping your foot, fiddling with a pen, or nervously playing with your hair can be extremely distracting to some people and make you come off as unfocused, too hyperactive, and possibly unable to be productive and work the demanding hours of a coder.
Those are just 3 examples of your own body language to pay attention to.
Calming yourself as best you can, sitting with proper posture, controlling your body movements, smiling, etc. are positive nonverbal cues that silently influence the interviewer toward liking and recommending you, increasing your likelihood of being hired.
On the other side of the table, you should pay attention to the interviewers body language.
If you give a long response to a question and the interviewer clears their throat, for example, this may tell you to be more concise in your answers.
Focus on how the interviewer reacts to your answers to understand how to keep them engaged, maintain a good conversational flow, and possibly even turn the tide of the interview if you notice its going south.
You May Like: Best Way To Conduct An Interview
Tips For Preparing For A Coding Interview
Consider following these tips as you prepare for your coding interview:
-
Take practice tests. To prepare for technical interviews, take practice tests and practice responding to interview questions out loud. You can find a friend or colleague if you feel you need a listener. Repeat the process until you feel confident in your ability to explain your answers.
-
Answer questions thoughtfully. If you need time to develop a response, summarize the interviewers question back to them to make sure you understand it completely. If you need another moment to think, take a deep breath, take a sip of water or say something like, Thats a great question, let me take a moment to think about that.
-
Engage your interviewer. It might be tempting to start working to solve a problem right away after your interviewer presents it. You will most likely be more successful if you ask questions about the questions topic and talk about strategies. Take the time to build a connection with the interviewer.
-
Ask thoughtful questions in return. You should come to an interview prepared with a few questions that show the interviewer youve been listening and have researched and prepared for your interview. Research may include methodologies, culture or basic facts on the company or position.
Read more:
What Programming Languages Do You Know
Use your response to this question to show that you prepared for the interview and researched what language the company uses. Consider including more than one example of your experiences with different languages in your response, and show your portfolio that includes the languages youve used. You can also explain languages currently popular in the industry if you feel itll set you apart from other candidates.
You can use the
-
Action: Explain how you handled the situation.
-
Result: Describe the outcome.
Example 1:I am very familiar with HTML, CSS and JavaScript, and in my most recent programming position at Global Company, we used Python to write software applications. I learned Python throughout the projects I completed there, and feel comfortable learning other languages for specific projects.
Example 2:When I was at Local Bakery, I was working as a developer using a CMS editor to update the companys website. I used CSS code to customize and code the site for greater efficiency and additional features.
Related: What Is CSS?
Don’t Miss: Quality Assurance Questions And Answers For Interview
Write Code To Calculate Frequency Of Characters In A String
#includeint main //Accepting inputs.printf gets //Calculating frequency of each character.for//Printing frequency of each character.for}return 0 }#include using namespace std int main //Accepting inputs. cout< < "Enter the string: " gets //Calculating frequency of each character. for //Printing frequency of each character. for } return 0 }import java.util.Scanner public class FrequencyOfCharactersInAString } } //Displays the each character and their corresponding frequency System.out.println for }}#take user inputString = input#take character inputCharacter = input#initiaalize int variable to store frequencyfrequency = 0#use count function to count frequency of characterfrequency = String.count#count function is case sencetive #so it print frequency of Character according to given Characterprint + ' is the frequency of given character')What Is The Difference Between A Static And A Dynamic Programming Language
Static language:
- The coder must declare the data types of variables before they can be assigned a value.
- The computer will check these data types when the code is compiled, and any errors must be fixed before the code can be run.
Dynamic language:
- Data types do not need to be declared by the coder.
- The data types will be checked at runtime, meaning that code containing errors will attempt to run.
Read Also: What Is A One Way Interview
How Would You Apply Hard Coding Compared To Soft Coding
The interviewer might want to assess your skills with specific operations and processes that require computer programming. Use examples from your experience and past projects you’ve worked on.
Example: Generally speaking, I’ve only ever applied hard coding when I need to change the program’s source code and the input data. Otherwise, soft coding is more convenient for the end-user. Additionally, soft coding provides me to set specific configurations based on the unique requirements of the project, which is always highly advantageous with larger programming tasks.
Related: Programming vs. Coding: What’s the Difference?
Programming Questions On Numbers
26) Write code to check whether a no is a power of two or not? 27) Write a program to check whether a number is a palindrome or not? 28) Write code to check whether an integer is Armstrong number or not? 29) Write a program to find all prime number up to a given number? 30) Write a function to compute Nth Fibonacci number? Both iterative and recursive? 31) How to check if a number is binary? 32) How to reverse an integer in Java?33) How to count a number of set bits in given integer?Cracking the Coding Interview
Also Check: Data Quality Engineer Interview Questions
How Do You Find The Top Two Maximum Numbers In An Array
Code:
Source: Tutorial Horizon
Linkedlist Programming Interview Questions
14) How do you find middle element of a linked list in a single pass?15) How do you find the 3rd element from last in a single pass? 16) How do you find if there is any loop in a singly linked list? How do you find the start of the loop? 17) How do you reverse a singly linked list? 18) Difference between a linked list and array data structure?Grokking the Coding Interview: Patterns for Coding Questions30 linked list interview questions
Also Check: How To Prepare For Venture Capital Interview
How Do You Stay Current With Your Technical Knowledge
Programming is a constantly evolving field that requires ongoing study. This question provides an opportunity to not only discuss your commitment to lifelong learning in the field, but also how you keep up with best practices, emerging technology and new programming languages. Talk about any websites, blogs, podcasts, video creators or social media influencers you follow in the space. This is also an opportunity to discuss any side projects or online courses youve worked on in order to improve your skills.
Possible answers to this question might look like: For me, one of the best ways to stay current is to use newer technologies for projects. For example, Ive been using to understand a newer language thats getting some interest from the development community. I also read trade press and blogs about software development to stay on top of how the field is changing over time.
What Technical Experience Do You Have
This one might seem scary â especially if you don’t have much technical experience. But even if you don’t have any background in computers or coding, don’t fret. Some bootcamps accept complete beginners, so this may not hurt your chances at all. This is particularly true if you display a willingness to learn throughout the rest of the interview.
If you know that the bootcamp expects incoming students to have some technical background, then you should prepare accordingly. Many bootcamps offer prep programs or free introductory materials online. If you’ve completed a prep program, make sure to mention it so the interviewer will see your commitment to the field.
If you do have some academic or professional experience in coding or information technology, this question gives you a chance to dig a little bit deeper.
Read Also: Backend System Design Interview Questions
What Is A Linked List
- Like an array, a linked list refers to a linear data structure in which the elements are not necessarily stored in a contiguous manner.
- It is basically a sequence of nodes, each node points towards the next node forming a chain-like structure.
Fig: Linked List
- LIFO is an abbreviation for Last In First Out
- It is a way of accessing, storing and retrieving data.
- It extracts the data that was stored last first.