Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Technical round with questions on DSA and OOPS mainly.



1. The string consists of only digits 0 to 9.
2. The numbers will have no more than six digits.
XOR approach can be used to solve this question in an efficient manner. The following property of XOR can be used :
1. If x1^x2^…xn = a and x1^x2^..xn-1 = b , then a^b = xn
Steps:
1. Declare two variables a= 0 and b = 0
2. Calculate the xor of numbers from 1 to n and store them in a i.e. 1^2^…n = a.
3. Now traverse the array from start to end.
4. For every index i update b as b = b ^ arr[i]
5. Return the missing number as a ^ b.
Time Complexity : O(N)
Space complexity : O(1)
Difference between constructor and destructor
1. Constructor helps to initialize the object of a class whereas destructor is used to destroy the instances.
2. Constructor is declared as Classname( arguments if any ){Constructor’s Body } whereas destructor is declared as ~ ClassName( no arguments ){ }.
3. Constructor can either accept arguments or not while destructor can’t have any arguments.
4. A constructor is called when an instance or object of a class is created.Destructor is called while object of the class is freed or deleted.
5. Constructor is used to allocate the memory to an instance or object while destructor is used to deallocate the memory of an object of a class.
6. Constructor can be overloaded while destructor can’t be overloaded.
7. The constructor’s name is same as the class name. In destructor, its name is also same as the class name preceded by the tiled (~) operator.
Difference between session and cookie
1. A session stores the variables and their values within a file in a temporary directory on the server. Cookies are stored on the user's computer as a text file.
2. The session ends when the user logout from the application or closes his web browser. Cookies end on the lifetime set by the user.
3. Session can store an unlimited amount of data. Cookies can store only limited data.
4. Session can store as much data as we want within a session, but there is a maximum memory limit, which a script can use at one time, and it is 128 MB. The maximum size of the browser's cookies is 4 KB.
5. We need to call the session_start() function to start the session. We don't need to call a function to start a cookie as it is stored within the local computer.
6. In PHP, to set a session data, the $_SESSION global variable is used. In PHP, to get the data from cookies, the $_COOKIE global variable is used.
What is memcached?
Memcached is an open source distributed memory caching system. It is used for speeding up dynamic web applications by reducing database load. Memcached stores data based on key-value pairs for small arbitrary strings or objects including:
Results of database calls
API calls
Page rendering
Memcached is made up of four main components.
Client software — Which is given a list of available Memcached servers.
A client-based hashing algorithm — Chooses a server based on the “key”.
Server software — Stores values and their keys into an internal hash table.
LRU — Determines when to throw out old data or reuse memory.
Technical round with questions on DBMS mainly.
What are indexes in MYSQL?
A database index is a data structure that improves the speed of operations in a table. Indexes can be created using one or more columns, providing the basis for both rapid random lookups and efficient ordering of access to records.
While creating index, it should be taken into consideration which all columns will be used to make SQL queries and create one or more indexes on those columns. Practically, indexes are also a type of tables, which keep primary key or index field and a pointer to each record into the actual table.
Design a database schema for a chat application where user can send message to an individual or in group.
Tip 1: Entities like user and message are the main entities to store users’ and messages’ details. Columns in the user table would be user related attributes like first_name, last_name, etc. Columns in the message table would be subject, message_body, create_date and expiry_date.
Tip 2: Another table in this data model could be message_recipient. It would hold the mapping between messages and their recipients. Thus the recipient_id column in this table signifies recipients’ ids, and this column refers to the id column of user table. When a message is sent to one recipient, one record will be inserted into this table with the recipient’s id in the recipient_id column.
You are provided with 8 identical balls and a measuring instrument. 7 of the eight balls are equal in weight and one of the eight given balls is defective and weighs less. The task is to find the defective ball in exactly two measurements.
Step 1: Divide the balls into three categories(C1, C2 and C3).
Let C1 consist of balls B1, B2 and B3.
Let C2 consist of balls B4, B5 and B6.
Let C3 consist of balls B7 and B8.
Step 2: Put C1 on one side of the weighing machine and C2 on the other.
This can give rise to 3 conditions:
Condition 1: C1 equals C2
Condition 2: C1 < C2
Condition 3: C1 > C2
Now let’s analyse the three conditions to find the defective ball:
Condition 1: If C1 is equal C2, then C3 has the defective ball. Now measure the weights of ball B7 and B8.
If B7 < B8, B7 is defective
If B7 > B8, B8 is defective.
Condition 2: If C1 < C2, then C1 has the defective ball. Now measure the weights of ball B1 and B2.
If B1 equals B2, B3 is defective.
If B1 < B2, B1 is defective.
If B1 > B2, B2 is defective.
Condition 3: If C1 > C2, then C2 has the defective ball. Now measure the weights of ball B4 and B5.
If B4 equals B5, B6 is defective.
If B4 < B5, B4 is defective.
If B4 > B5, B5 is defective.
This was a typical managerial round.
Q1. Why do you want to join OLX?
Q2. What difficulties have you faced ?
Q3. How is the Employee hierarchy in your current organization. Whom do you report to ?
Q4. How much is the web traffic on your site etc?
Tip 1 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.
Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round, like what are the projects currently the company is investing, which team you are mentoring. How all is the work environment etc.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?