Interview format for software professionals

Various levels of experience with concise topics listed

This article covered back-end software engineering topics and software interview formats.

The majority of large tech companies and start-ups use a similar interview format, and you can expect most of the questions to be about the topics mentioned.

Entry Level / Freshers

experience 0–2 years

Freshmen are typically asked about the fundamentals of computer science, with an emphasis on data structure and algorithm, as well as how efficiently and quickly they can implement the solution.

These are some of the questions that freshmen are asked, in addition to their weightage.

Freshmen need very good hands-on skills with basic data structures and algorithms, and their implementation should be decent.

Data structure and Algorithms: weightage 70–80%

  • Sorting

  • Searching

  • Linked List

  • Array

  • Tree

  • Graph

  • Stack

  • Queue

  • Depth First Search

  • Breath First Search

  • Shortest Path

  • String Manipulation

  • Binary Search

  • Backtracking

  • Recursion

  • Dynamic Programming

  • Time complexity analysis

  • Matrix calculation

Other core computer science subjects: weightage 20–30%

  1. OOPS: Classes, Inheritance, Polymorphism, Encapsulation etc

  2. Operating System: Thread, Process, Scheduling Algorithms, Virtual Memory, Multi-threading etc

  3. DBMS: SQL Basic commands, ACID Properties, Normalization, Entity-relationship, Isolation levels etc.

  4. Networking: OSI and TCP/IP layers, Network protocols, Routing, Network topology etc.

Intermediate Level

experience 3–8 years

In comparison to freshmen, mid-level engineers, or SDE-2s, require more practical knowledge in the software development area.

Major emphasis is placed on problem solving, language proficiency, applicability in real-life development, and a fair understanding of how scalable systems work.

DSA questions are more mid- to hard-level in difficulty and may require a firm understanding of relatively advanced algorithms and data structures.

Edge cases must be well addressed, and implementation must be error-free and clean.

Data structure and Algorithms: weightage 40–50%

  • Dynamic Programming

  • Binary Search

  • HashMap and HashSet

  • Topological Sort

  • Heap and Priority Queue

  • Trie

  • Suffix Array

  • KMP and Rabin Karp

  • Minimum Spanning Trees

  • Binary indexed tree

  • Segment Tree

  • Tree Traversal

  • Shortest path with priority queue

Design Patterns and System implementation: weightage 20–30%

  1. Design Patterns: Factory Pattern, Singelton Pattern, Strategy Pattern, Observer Pattern, Decorator Pattern, Builder Pattern, Iterator Pattern, Command Pattern etc

  2. SOLID Principles

  3. Other programming principles like DRY, KISS, YAGNI, Separation of Concerns etc

System Design: weightage 20–30%

  1. URL Shortening, Twitter timeline, Photo sharing service, News feed etc

  2. Hashing, caching, NoSQL Internals, CAP Theorem, Distributed Designs etc

Download your free interview preparation guide 👇️ 

Senior Level

experience 8+ years

Senior engineers are expected to thoroughly understand the system and have real-world experience with distributed and scalable systems.

Along with strong analytical abilities and an in-depth understanding of language internals, they should be familiar with several big data technologies and have practical experience working with scalable concurrent systems.

System Design and Architectural Patterns: weightage 50–60%

  1. Monolithic, Micro Services, Virtualization, LSM Tree, SS-Tables, Message Queues, Caching, Seach Engines etc

  2. Docker/Kubernetes, Redis, Kafka, Cassandra, Elastic Search, Spark etc

  3. System Designs that can scale to million requests, Thread safe rate limiting API, Horizontal/Vertical Scaling, Consistent hashing, CAP Theorem etc

  4. MD5, SHA 256, CDN, Load Balancing, Caching, Sharding, Partitioning, Replication, Database indexing etc.

Programming Principles and software designs: weightage 20–30%

  1. Design Patterns

  2. SOLID Principles, DRY, KISS, YAGNI etc

  3. Test driven development

  4. coding and testing best practices

  5. code review standards.

Data structure and Algorithms: weightage 10–20%

  • Trie

  • AVL / Red Black Tree

  • Disjoint Set Union

  • Bit Manipulation

  • Dynamic Programming

  • Lazy Propagation

  • Graph Algorithms

This is a fairly concise list of subjects for each experience level.

Depending on the particular requirements of the organization, there might be some differences, but the goal is to give you a good indication of what to anticipate.

Thanks for reading :)

Follow Skilled Coder on Twitter and Instagram