Important Dates:
Timelines | Event Stage |
---|---|
8th Jan - 12th Jan | Open for inviting applicants |
12th Jan EOD | Email Communication on Resume Shortlist |
13th Jan - 14th Jan | NextLevel Screening round |
16th Jan EOD | Email Communication on NextLevel Test Shortlist |
17th Jan - 18th Jan | HackerRank Test round |
18th Jan - 20th Jan | Email Communication on HackerRank Test Shortlist |
22nd Jan - 24th Jan | Technical Interview and Hiring Manager round |
25th Jan EOD | Email Communication on Final Results |
Hiring Process:
Round 1: Screening process
This will be done via NextLevel, an AI based screening app.
Topics: OOPS, Data Structures, Algorithms, DBMS, Networking, Error Handling
Duration: 45 min
Round 2: HackerRank Online Test
Online coding test.
Topics: Problem Solving, Algorithms and Data Structures.
Duration: 105 min
Round 3: Technical Interview
Virtual interview with a technical panel.
Topics: System Design, Coding & Debugging
Duration: 90 min
Round 4 Hiring Manager
Virtual interview with a technical panel.
Topics: Problem Solving, System Design and Cultural fitment, past internships, college projects etc.
Duration: 45 min
Most Important Interview Topics:
Interview Duration: 90 Mins
1)Self Introduction
2)About Project (Most Important)
3)Past Internships
Technical Topics
1)System Design:
Useful Topics:
Definition: System design is a process that involves planning, specifying, and detailing the structure, components, modules, interfaces, and data for a system to satisfy specified requirements.
- Scalability: Designing systems that can handle growth in terms of users, data, or traffic.
- Reliability: Ensuring the system functions correctly and consistently, minimizing downtime and errors.
- Availability: Designing for high availability to prevent service disruptions.
- Performance: Optimizing the system's efficiency and response time.
- Data Storage: Selecting appropriate databases and storage solutions for specific requirements.
- Distributed Systems: Understanding and designing systems that operate across multiple nodes or servers.
- Load Balancing: Distributing incoming network traffic across multiple servers to optimize resource utilization.
- Caching: Implementing caching strategies to enhance performance.
- Security: Addressing potential vulnerabilities and ensuring data protection.
- System Components Interaction: Understanding how different components of a system interact with each other.
- API Design: Designing effective and scalable APIs for communication between different parts of a system.
- Microservices: Understanding the principles and challenges of designing systems based on microservices architecture.
- Fault Tolerance: Designing systems that can continue operating even in the presence of failures.
2)Operation System:
a)What is OS?
An operating system (OS) is a software program that acts as an intermediary between computer hardware and the computer user. It provides a set of services and functionalities that enable users to interact with the computer, manage resources, and run applications.
b)Process:
Definition: A program in execution; the smallest unit of a running program.
c)Memory Management:
Definition: The process of controlling and coordinating computer memory, assigning portions called blocks to various running programs.
d)File System:
Definition: A method used by an operating system to organize and store data on storage devices, such as hard drives.
e)Scheduling Algorithms:
Definition: Strategies to determine the order in which processes or threads are executed by the CPU.
f)Deadlocks:
Definition: A state where two or more processes are unable to proceed because each is waiting for the other to release a resource.
g)I/O Systems:
Definition: Handling input and output operations between the computer and external devices like keyboards, printers, and disks.
h)Concurrency:
Definition: The simultaneous execution of multiple processes or threads to achieve better performance.
i)Security and Protection:
Definition: Measures to ensure that unauthorized access is prevented, and processes are isolated from each other for data protection.
j)Virtual Memory:
Definition: A memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine."
k)Device Drivers:
Definition: Software that allows the operating system to communicate with and control the hardware devices attached to the computer.
l)Context Switching:
Definition: The process of saving and restoring the state of a CPU so that multiple processes can be executed concurrently.
m)Race Conditions:
Definition: Situations in which the behavior of a system depends on the relative timing of events, often leading to unexpected results.
3)Computer Networks:
a)Definition:
A computer network is a set of interconnected computers that communicate with each other for the purpose of sharing resources, information, and services.
b)OSI Model (Open Systems Interconnection Model):
The OSI model is a conceptual framework that standardizes the functions of a telecommunication or computing system into seven abstract layers, each serving a specific purpose in the communication process.
c)TCP/IP Model:
The TCP/IP model is a protocol suite that defines the communication protocols used on the Internet. It stands for Transmission Control Protocol/Internet Protocol and consists of four layers: Link, Internet, Transport, and Application.
d)Hub:
A hub is a basic networking device that connects multiple devices in a LAN, but it operates at the physical layer of the OSI model and does not differentiate between devices. It can cause network congestion and is less efficient than switches.
e)Switch:
A switch is a networking device that operates at the data link layer of the OSI model. It intelligently forwards data only to the device for which it is intended, improving network efficiency and reducing collisions compared to hubs.
f)Router:
A router is a networking device that connects different networks and forwards data between them. It operates at the network layer of the OSI model and uses routing tables to determine the best path for data transmission.
g)Half-Duplex and Full-Duplex:
Half-duplex communication allows data transmission in both directions, but not simultaneously. Full-duplex communication enables simultaneous two-way communication.
h)IP Address:
An IP (Internet Protocol) address is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication. It serves two main functions: host or network interface identification and location addressing.
i)ARP (Address Resolution Protocol):
ARP is a protocol used to map an IP address to a physical MAC (Media Access Control) address within a local network.
j)DNS (Domain Name System):
DNS is a system that translates human-readable domain names into IP addresses, facilitating the identification of networked devices.
k)DHCP (Dynamic Host Configuration Protocol):
DHCP is a network protocol that automatically assigns IP addresses and other network configuration information to devices on a network.
l)VLAN (Virtual Local Area Network):
VLAN is a network segmentation technique that divides a physical network into multiple logical segments, improving network performance, security, and manageability.
m)NAT (Network Address Translation):
NAT is a process that modifies network address information in packet headers while in transit to allow multiple devices to share a single public IP address.
n)Firewall:
A firewall is a network security device that monitors and controls incoming and outgoing network traffic based on predetermined security rules.
o)UDP (User Datagram Protocol) and TCP (Transmission Control Protocol):
UDP and TCP are transport layer protocols in the TCP/IP model. UDP provides connectionless and unreliable communication, while TCP provides connection-oriented and reliable communication.
p)Subnet Mask:
A subnet mask is a 32-bit number that divides an IP address into network and host portions, allowing for the creation of subnetworks.
q)Bandwidth and Latency:
Bandwidth refers to the maximum rate of data transfer across a network, while latency is the time it takes for data to travel from source to destination.
r)MAC Address (Media Access Control Address):
A MAC address is a unique identifier assigned to network interfaces for communications at the data link layer of a network.
s)SSL/TLS (Secure Sockets Layer/Transport Layer Security):
SSL/TLS are cryptographic protocols that secure communication over a computer network, commonly used for securing web traffic.
t)IPv6 (Internet Protocol version 6):
IPv6 is the most recent version of the Internet Protocol, designed to replace IPv4. It introduces a larger address space to accommodate the growing number of devices connected to the Internet.
4)DBMS, SQL:
What is a Database?
A database is a structured collection of data organized in a way that it can be easily accessed, managed, and updated. It typically includes tables, records, and fields to store and retrieve data efficiently.
What is DBMS?
A Database Management System (DBMS) is software that facilitates the creation, organization, and management of databases. It provides an interface for users and applications to interact with the database, ensuring data integrity, security, and efficient data retrieval.
Differentiate between DBMS and RDBMS.
DBMS is a broader term that encompasses any system managing databases, while Relational Database Management System (RDBMS) specifically refers to systems that manage databases based on the relational model, where data is organized in tables with predefined relationships.
Explain the ACID properties in the context of database transactions.
ACID stands for Atomicity, Consistency, Isolation, and Durability. These properties ensure that database transactions are reliable:
Atomicity: Transactions are treated as a single, indivisible unit.
Consistency: The database transitions from one valid state to another.
Isolation: Transactions are isolated from each other until they're completed.
Durability: Once a transaction is committed, changes are permanent and survive failures.
Define normalization and its advantages.
Normalization is the process of organizing data in a database to reduce redundancy and improve data integrity. It involves dividing large tables into smaller ones and defining relationships between them. Advantages include minimizing data duplication, improving data consistency, and making the database more adaptable to changes.
Types:
1)First Normal Form (1NF):
Definition: All values in a column must be of the same data type, and each column should have a unique name.
Example: Ensuring that each cell in a table contains a single value, not a list or set of values.
2)Second Normal Form (2NF):
Definition: The table should be in 1NF, and all non-key attributes should be fully functionally dependent on the primary key.
Example: Breaking down a composite primary key into separate components and ensuring that non-key attributes depend on the entire primary key.
3)Third Normal Form (3NF):
Definition: The table should be in 2NF, and there should be no transitive dependencies between non-key attributes.
Example: Removing dependencies where one non-key attribute depends on another non-key attribute.
4)Boyce-Codd Normal Form (BCNF):
Definition: A table is in BCNF if, for every non-trivial functional dependency (where the determinant uniquely determines the dependent), the determinant is a superkey.
Example: If A → B is a functional dependency, and A is a superkey, then the table is in BCNF.
5)Fourth Normal Form (4NF):
Definition: A table is in 4NF if it is in BCNF and has no multi-valued dependencies.
Example: If a table has a composite key (combination of attributes) and there are no non-trivial multi-valued dependencies, it is in 4NF.
6)Fifth Normal Form (5NF):
Definition: A table is in 5NF if it is in 4NF and all join dependencies are implied by the candidate keys.
Example: 5NF further deals with cases where information can be derived from the combination of candidate keys.
Relational Database Management System (RDBMS):
Note: Learn All Keys
Explain the primary key and foreign key concepts.
Primary Key: A unique identifier for a record in a table. It ensures each record is uniquely identified.
Foreign Key: A field in a table that refers to the primary key in another table, establishing a link between the two tables.
What is a composite key?
A composite key is a key composed of multiple columns to uniquely identify records in a table. It's used when a single column is not sufficient for uniqueness.
Discuss the difference between a unique key and a primary key.
A unique key ensures data integrity by enforcing the uniqueness of values, but unlike a primary key, it allows for NULL values. A primary key is a unique key with an additional constraint that doesn't allow NULL values.
What is a table and how is it different from a view?
A table is a collection of data organized in rows and columns. A view is a virtual table based on the result of a SELECT query. Unlike a table, a view doesn't store data but provides a dynamic way to present selected data from one or more tables.
Explain the concept of a schema in a database.
A schema is a collection of database objects, including tables, views, and relationships, organized into a namespace. It provides a logical grouping of database elements to simplify management and improve security.
SQL (Structured Query Language):
What are the basic SQL commands?
Basic SQL commands include SELECT (retrieve data), INSERT (insert new records), UPDATE (modify existing records), DELETE (remove records), and others for managing database structures (CREATE, ALTER, DROP).
Explain the difference between DELETE and TRUNCATE in SQL.
DELETE removes specific records from a table and can use a WHERE clause for conditional deletion. TRUNCATE removes all records from a table, resetting identity columns, but cannot be conditionally applied.
What is the purpose of the GROUP BY clause in SQL?
The GROUP BY clause is used to group rows based on specified columns in aggregate functions (e.g., COUNT, SUM). It's often used with SELECT statements to generate summary reports.
Discuss the difference between INNER JOIN and OUTER JOIN.
INNER JOIN returns rows where there is a match in both tables, while OUTER JOIN returns all rows from one table and the matched rows from the other. Types of OUTER JOIN include LEFT JOIN, RIGHT JOIN, and FULL OUTER JOIN.
Explain the concept of a subquery in SQL.
A subquery is a query nested within another query. It can be used in SELECT, FROM, WHERE, or HAVING clauses and is often employed to retrieve data for further analysis.
Coding Topics:
5)Data Structures:
What is an array?
Explanation: An ordered collection of elements of the same type stored in contiguous memory locations.
Explain the difference between arrays and linked lists.
Explanation: Arrays have a fixed size, while linked lists can dynamically grow. Arrays provide constant-time access, whereas linked lists offer constant-time insertion/deletion.
What is a singly linked list?
Explanation: A data structure in which elements are connected through nodes, and each node points to the next node in the sequence.
What is a doubly linked list?
Explanation: Similar to a singly linked list, but each node has pointers to both the next and the previous nodes.
Explain the Last In, First Out (LIFO) property of a stack.
Explanation: The last element added to the stack is the first one to be removed.
What is the difference between a stack and a queue?
Explanation: Stacks operate on a Last In, First Out (LIFO) basis, while queues use a First In, First Out (FIFO) approach.
Define a binary tree.
Explanation: A tree data structure in which each node has at most two children, referred to as the left child and the right child.
What is a binary search tree (BST)?
Explanation: A binary tree in which the left subtree of a node contains only nodes with keys less than the node's key, and the right subtree only nodes with keys greater than the node's key.
Differentiate between a directed and an undirected graph.
Explanation: In a directed graph, edges have a direction, while in an undirected graph, edges have no direction.
Explain depth-first search (DFS) and breadth-first search (BFS).
Explanation: DFS explores as far as possible along each branch before backtracking. BFS explores neighbor nodes before moving to the next level.
What is hashing?
Explanation: The process of converting input into a fixed-size array (hash) through a hash function.
Discuss collision resolution techniques in hashing.
Explanation: Techniques include chaining, open addressing, and double hashing to handle collisions.
What is time complexity and space complexity?
Explanation: Time complexity is the measure of the amount of time an algorithm takes to complete, while space complexity is the measure of the amount of memory an algorithm uses.
Compare the time complexity of linear search and binary search.
Explanation: Linear search has O(n) time complexity, while binary search has O(log n) time complexity.
Explain the concept of dynamic programming
Explanation: A technique used to solve problems by breaking them down into simpler overlapping subproblems and solving each subproblem only once.
What is a priority queue?
Explanation: A data structure that stores elements with associated priorities and supports efficient retrieval of the element with the highest (or lowest) priority.
Important Data Structures Algorithm's
Sorting Algorithms:
QuickSort:
Explanation: A divide-and-conquer sorting algorithm that partitions an array into two sub-arrays and recursively sorts them.
MergeSort:
Explanation: Another divide-and-conquer algorithm that divides the array into two halves, recursively sorts them, and then merges the sorted halves.
BubbleSort:
Explanation: A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order.
InsertionSort:
Explanation: Builds a sorted array one element at a time by repeatedly taking elements from the unsorted part and inserting them into their correct position.
Searching Algorithms:
Binary Search:
Explanation: An efficient algorithm for finding an item from a sorted list by repeatedly dividing the search interval in half.
Linear Search:
Explanation: A simple search algorithm that finds the position of a target value within a list by sequentially checking each element.
Graph Algorithms:
Breadth-First Search (BFS):
Explanation: A graph traversal algorithm that visits all the vertices of a graph in breadth-first order, exploring neighbors before moving on to the next level.
Depth-First Search (DFS):
Explanation: A graph traversal algorithm that explores as far as possible along each branch before backtracking.
Dijkstra's Algorithm:
Explanation: Finds the shortest path between nodes in a graph with non-negative edge weights.
Bellman-Ford Algorithm:
Explanation: Finds the shortest paths from a source vertex to all other vertices, even in graphs with negative edge weights.
Tree Algorithms:
Binary Tree Traversal (Inorder, Preorder, Postorder):
Explanation: Different methods of traversing the nodes of a binary tree.
Binary Search Tree (BST) Operations (Insertion, Deletion, Search):
Explanation: Operations to maintain the properties of a binary search tree.
Dynamic Programming:
Fibonacci Sequence using Dynamic Programming:
Explanation: Efficiently calculates Fibonacci numbers using memoization or bottom-up approaches.
Longest Common Subsequence (LCS):
Explanation: Finds the longest subsequence present in two given sequences.
Hashing:
Hash Table Operations (Insertion, Deletion, Search):
Explanation: Common operations on a hash table, including handling collisions.
Rabin-Karp Algorithm:
Explanation: A string-searching algorithm that searches for a pattern within a text using hashing.
Other Important Algorithms:
Kruskal's Algorithm:
Explanation: Finds the minimum spanning tree of a connected, undirected graph.
Prim's Algorithm:
Explanation: Another algorithm for finding the minimum spanning tree of a connected, undirected graph.
Topological Sorting:
Explanation: Orders the vertices of a directed acyclic graph (DAG) such that for every directed edge, the destination vertex comes after the source vertex.
Coding Questions asked in Past Interviews:
1)First Question Click Here
2)Second Question Click Here
Meesho Past Interview Experience Click Here
Meesho Past Interview Experience Click Here
Meesho Past Interview Experience Click Here
Meesho Past Interview Experience Click Here
Meesho Past Interview Experience Click Here
Meesho Past Interview Experience Click Here
Meesho Past Interview Experience Click Here
Meesho Past Interview Experience Click Here
Meesho Past Interview Experience Click Here
Other Important Data Structures Coding Questions:
Arrays and Strings:
1)Find the missing number in an array of 1 to N.
Explanation: XOR all the elements and XOR the result with numbers from 1 to N.
2)Rotate an array to the right by k steps.
Explanation: Use reverse operations on different parts of the array.
3)Implement an algorithm to determine if a string has all unique characters.
Explanation: Use a boolean array or a bit vector to track character occurrences.
Linked Lists:
1)Reverse a linked list.
Explanation: Iterative or recursive approach to reverse the pointers.
2)Detect a cycle in a linked list.
Explanation: Use Floyd's cycle-finding algorithm (tortoise and hare).
Stacks and Queues:
1)Implement a stack using arrays/linked list and its operations.
Explanation: Demonstrate push, pop, and peek operations.
2)Implement a queue using stacks and vice versa.
Explanation: Show how to simulate queue/stack operations using two stacks.
Trees and Graphs:
1)Binary Tree Traversal (Inorder, Preorder, Postorder).
Explanation: Implement depth-first search (DFS) on a binary tree.
2)Find the lowest common ancestor in a binary tree.
Explanation: Use recursive approach to find the common ancestor.
3)Implement Breadth-First Search (BFS) on a graph.
Explanation: Use a queue to traverse a graph level by level.
Sorting and Searching:
4)Implement quicksort or mergesort.
Explanation: Show the algorithm and discuss time complexity.
5)Find the first non-repeated character in a string.
Explanation: Use a hashmap to count character occurrences.
Dynamic Programming:
1)Find the length of the longest increasing subsequence.
Explanation: Use dynamic programming to find the solution.
2)Knapsack Problem (0/1 or unbounded).
Explanation: Dynamic programming approach for optimization problems.