The software working professional and students should plan and prepare for the coding interview. The Work–life balance is a concept including proper prioritizing between work and lifestyle. The working professional should manage the time between the work, interview preparation and family. The student may get more time for preparing the programming interview. The students can start to prepare interview during middle of education.
If the candidate is missing any skill, they should plan and prepare before attending interview. The software companies can be categorized as product based company, service based company, and web-based company. The candidate must understand the job description and responsibilities from company’s career page or job portal. The candidate must take time for interview preparation. The candidate can keep following the current trends from different web portals and job requirements. All the software companies are looking for the skilled candidate who adopts the company culture and good in technical skills. If the working professional feels comfort zone or not learning any new skill, they can start to prepare the programming interview.
The candidate should manage the time properly while preparing and attending the coding interview. The candidate needs to prepare computer fundamental, data structure and algorithm, object oriented programming, database and other technical areas. If the candidate start searches from the internet, the links are linked with a lot of links and finally the candidate may not be able to get the information clearly. The candidate should plan the list of weak and strong areas and make a do-to list for each task. The candidate should identify what are the new skills required for his profile. If the candidate does not have any skill set, they can identify and get training from the institution or develop from good books and practice. The candidate should select at least one programming language.
The candidate should prepare for the following computer science theory. Theoretical computer science focuses on abstract or mathematical aspects of computing and includes the theory of computation.
- Distributed computation
- Computational complexity theory
- Parallel computation
- Data structure and algorithm
- Coding theory
The candidate should also prepare about the general operating system, network computing and relational database management system.
Data structure and algorithm
The candidate must prepare at least the following data structure and algorithm topics.
Data structure list
- Priority Queue
- AVL Tree
- Red-Black Tree
- Binary Search
- Binary Search Tree
- Bubble Sort
- Quick Sort in-place
- Insertion Sort
- Heap Sort
- Bucket Sort
- Radix Sort
- Depth-First Search
- Breadth-First Search
- Dijkstras algorithm
- Traveling Salesman
The candidate can solve the problem using one of the following algorithmic techniques:
- Dynamic programming
The candidate can get the full list from http://careerdrill.com/AlgorithmList.php page.
The candidate can prepare the programming interview questions using the following options.
- Prepare using curriculum books
- Prepare using industry leading books
- Learn and practice the existing interview questions
- Online forums
- Online articles
- Interview experience
Most of the companies ask the candidate to sign the non-disclosure agreement before the interview. The candidate may not be able to explain or tell the full interview questions in blogs or forums. But, product development companies are looking for data structure, algorithm, and relational database management system (RDBMS) and object-oriented programming concepts. The candidate can start to prepare from good books. Once they good at understanding the concepts, the candidate can start practice in Integrated development environment (IDE). But, the programming interview expects the candidate write code on whiteboard or paper. So, the candidate should prepare with the actual medium.
|Prepare coding interview through books||Prepare using pen and paper (board)|
|Good for understating the concepts||Practice like real programming interview|
|Start prepare from book||After understand, practice using pen and paper.|
|May not use programming language||Should use programming language|
|Understand the concepts||Implement the concepts|
The candidate can follow the below order.