Filter interviews by
1 hour , dsa, hackerearth, medim to hard
Coding test based on OOP and data structure
Coding test based on data structure and algorithm
Keep learning about salesforce 5 rules and coding
I applied via Campus Placement and was interviewed in May 2024. There were 2 interview rounds.
Logical reasoning aptitude english maths
Data structure algorithms
Salesforce interview questions for designations
I applied via Campus Placement and was interviewed in Sep 2023. There was 1 interview round.
Probability related question
Get interview-ready with Top Salesforce Interview Questions
I appeared for an interview in Aug 2021.
Round duration - 75 Minutes
Round difficulty - Medium
This was an online coding round where we had 2 questions to solve under 75 minutes. The questions were of Medium to Hard level of difficulty and I found the problem statements to be a bit tricky.
Given an integer N
representing the number of pairs of parentheses, find all the possible combinations of balanced parentheses using the given number of pairs.
Generate all possible combinations of balanced parentheses for a given number of pairs.
Use recursion to generate all possible combinations of balanced parentheses.
Keep track of the number of open and close parentheses used in each combination.
Terminate recursion when the number of open and close parentheses used equals the given number of pairs.
Given three non-negative integers X
, Y
, and Z
, determine the longest happy string. A happy string is defined as a string that contains only the letters 'a', 'b', and...
The problem involves constructing the longest happy string with given constraints on the frequency of 'a', 'b', and 'c'.
Iterate through the characters 'a', 'b', 'c' in decreasing order of their frequencies
Append the character with the highest frequency that does not create a substring of 3 same characters
Repeat until all characters are used up or the string reaches the desired length
Round duration - 60 Minutes
Round difficulty - Medium
This round had 2 preety decent questions of DSA . The interviewer was also quite freindly and helpful. I was able to solve both the questions under the given time frame and also discussed their respective time and space complexites.
Given a graph with 'N' nodes and 'M' unidirectional edges, along with two integers 'S' and 'D' representing the source and destination respectively, your task is to find all possible p...
Find all possible paths from a source node to a destination node in a graph with unique nodes.
Create a graph using the given nodes and edges
Implement a depth-first search (DFS) algorithm to find all paths from source to destination
Ensure that the nodes in the paths are unique and print them in lexicographically sorted order
Determine if a given singly linked list of integers forms a cycle or not.
A cycle in a linked list occurs when a node's next
points back to a previous node in the ...
Detect if a singly linked list forms a cycle by checking if a node's next pointer points back to a previous node.
Use Floyd's Tortoise and Hare algorithm to detect a cycle in O(N) time complexity and O(1) space complexity.
Start with two pointers, slow and fast, moving at different speeds. If they meet at some point, there is a cycle.
If the fast pointer reaches the end of the list (null), there is no cycle.
Example: For i...
Round duration - 60 Minutes
Round difficulty - Medium
This round had 1 question related to BST followed by some standard questions from OOPS and Operating Systems.
You are given the ‘root’ of a Balanced Binary Search Tree and an integer ‘target’. Your task is to determine if there exists any pair of nodes such ...
Given a Balanced BST and a target integer, determine if there exists a pair of nodes with sum equal to the target.
Traverse the BST in-order to get a sorted array of values.
Use two pointers approach to find the pair with sum equal to target.
Consider edge cases like negative numbers and duplicates.
Time complexity should be O(n) and space complexity O(n).
Early binding is resolved at compile time while late binding is resolved at runtime in C++.
Early binding is also known as static binding, where the function call is resolved at compile time based on the type of the object.
Late binding is also known as dynamic binding, where the function call is resolved at runtime based on the actual type of the object.
Early binding is faster as the function call is directly linked dur...
Multitasking refers to the ability of an operating system to run multiple tasks concurrently, while multithreading involves executing multiple threads within a single process.
Multitasking allows multiple processes to run simultaneously on a single processor, switching between them quickly.
Multithreading enables a single process to execute multiple threads concurrently, improving performance and responsiveness.
Multitask...
Round duration - 30 Minutes
Round difficulty - Easy
This was my last round and I hoped it to go good just like the other rounds. The interviewer was very straight to point
and professional. The interview lasted for 30 minutes.
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.
I appeared for an interview in Feb 2021.
Round duration - 75 Minutes
Round difficulty - Hard
Online Round - 2 questions.
75 minutes
You are provided with a positive integer N. The goal is to generate the lexicographically largest sequence of length 2*N - 1, containing integers ran...
Generate lexicographically largest valid sequence of length 2*N - 1 with specific constraints.
Start with the largest numbers and place them at the ends to maximize lexicographical order.
Place the number 1 in the middle to satisfy the condition of appearing exactly once.
Determine the positions of other numbers based on their distance requirements.
Iterate through the sequence and fill in the numbers based on the constrai...
You have a string of balls on the table called BOARD
and several balls in your hand represented by the string hand
. The balls can be of the colors red(R), blue(B), green(G), wh...
Determine the minimum number of insertions required to empty the board in Zuma game problem.
Check if it's possible to empty the board by trying all possible combinations of inserting balls from hand.
Use backtracking algorithm to simulate the game and find the minimum number of insertions required.
Handle edge cases like when the board cannot be emptied or when the hand is empty.
Consider optimizing the algorithm by pruni...
Round duration - 40 Minutes
Round difficulty - Hard
1 Coding problem and 1 OOP problem
Ninja is hungry and wants to eat his favorite chocolates, but his mother won't let him because he has already eaten enough. There are 'N' jars filled with chocolates...
Find the minimum eating speed required for a ninja to consume all chocolates within a given time limit.
Iterate through possible eating speeds to find the minimum speed that allows the ninja to consume all chocolates within the given time limit.
Calculate the total number of chocolates to be consumed and divide it by the time limit to get the minimum eating speed.
Handle cases where a jar has fewer chocolates than the eat...
Virtual functions can be overridden in derived classes, while abstract classes cannot be instantiated directly.
Virtual functions are declared using the 'virtual' keyword and can be overridden in derived classes.
Abstract classes cannot be instantiated and may contain one or more pure virtual functions.
An abstract class can have virtual functions, but a virtual function does not make a class abstract.
Example: Shape is an...
Round duration - 40 minutes
Round difficulty - Hard
Resume based problems, OOPs, DBMS, OS problems
Design a platform similar to LinkedIn with key features and architecture
Key Features: user profiles, connections, job postings, messaging, news feed, groups
Architecture: microservices, cloud storage, scalable database, AI for recommendations
Security: encryption, secure authentication, data privacy controls
User Experience: intuitive UI/UX, mobile app support, notifications
Monetization: premium subscriptions, advertising
Round duration - 15 Minutes
Round difficulty - Hard
Typical HR interview round. Short and crisp
Tip 1 : Never leave any topic from any chapter / Subject
Tip 2 : Learn to explain your thoughts well
Tip 3 : Learn from previous experiences / interviews / problems asked.
Tip 4 : Atleast 4 projects in Resume
Tip 1 : Atleast 4 projects on Resume
Tip 2 : Do not write false things. You always get caught. Be genuine.
Insertion sort and quicksort are sorting algorithms used to sort arrays of data.
Insertion sort: iterates through the array and inserts each element into its proper position.
Quicksort: selects a pivot element and partitions the array into two sub-arrays, one with elements less than the pivot and one with elements greater than the pivot.
Insertion sort is best for small arrays, while quicksort is best for large arrays.
Bot...
Merge two sorted linked lists using recursion
Create a recursive function that compares the first nodes of both lists
Set the smaller node as the head of the merged list and call the function again with the next node of the smaller list
Base case: if one list is empty, return the other list
Return the merged list
Given an integer, determine which byte is zero.
Convert the integer to a byte array using bitwise operations.
Iterate through the byte array and check for a zero value.
Return the index of the zero byte.
Consider endianness when converting to byte array.
To check endianness, create a 4-byte integer with a known value and check the byte order.
Create a 4-byte integer with a known value
Check the value of the first byte to determine endianness
If the first byte is the least significant, the machine is little endian
If the first byte is the most significant, the machine is big endian
Static objects can be used to print something before main() execution.
Static objects are initialized before main() execution
They can be used to print something before main()
Example: static int x = printf("Hello World!");
Output: Hello World! will be printed before main() execution
Static variables are allocated memory in the data segment of the program's memory space.
Static variables have a fixed memory location throughout the program's execution.
They are initialized to zero by default.
If initialized explicitly, they are stored in the data segment.
Static variables can be accessed by any function in the program.
Finding space and time complexity of a recursive function.
Space complexity is the amount of memory used by the function.
Time complexity is the amount of time taken by the function to execute.
Recursive functions have higher space complexity due to the call stack.
Time complexity can be calculated using Big O notation.
Examples of recursive functions include factorial and Fibonacci sequence.
Diamond hierarchy problem is a problem in object-oriented programming where a class inherits from multiple classes in a diamond-shaped hierarchy.
Occurs when a class inherits from two classes that share a common base class
Can lead to ambiguity in method calls and data members
Solved using virtual inheritance or by using interfaces
To determine if a point is inside a polygon, use the ray casting algorithm.
Create a line from the point to a point outside the polygon
Count the number of times the line intersects with the polygon edges
If the count is odd, the point is inside the polygon; otherwise, it is outside
The four storage classes in C are auto, register, static, and extern.
Auto: default storage class for all local variables
Register: used to define local variables that should be stored in a register instead of RAM
Static: used to define local variables that retain their value between function calls
Extern: used to declare a global variable that is defined in another file
i is stored in global data segment, j is stored in stack, k is stored in heap.
i is a global variable and is stored in the global data segment
j is a local variable and is stored in the stack
k is a pointer variable and is stored in the stack, while the memory it points to is allocated on the heap using malloc()
Use a hash table to store the words and check for existence in constant time.
Create a hash table with the words as keys and a boolean value as the value.
For each new word, check if it exists in the hash table. If it does, it has appeared before. If not, add it to the hash table.
Alternatively, use a set data structure to store only the unique words and check for existence in the set.
Return all root to leaf node paths in a binary tree with row, col and value.
Traverse the binary tree recursively and keep track of the current path.
When a leaf node is reached, add the path to the result array.
Include row, col and value of each node in the path.
Use an array of strings to store the paths.
To get max value from a stack in O(1), maintain a separate stack to keep track of maximum values.
Create a separate stack to keep track of maximum values
Push the maximum value onto the stack whenever a new maximum is encountered
Pop the maximum value stack whenever the top element of the main stack is popped
Return the top element of the maximum value stack to get the maximum value in O(1)
To get max element from a queue in O(1) time complexity
Maintain a separate variable to keep track of the maximum element in the queue
Update the maximum element variable whenever a new element is added or removed from the queue
Return the maximum element variable when getMax() function is called
Find the Next Greatest Element to the right for each element in an array of strings.
Iterate through the array from right to left
Use a stack to keep track of elements
Pop elements from stack until a greater element is found
If no greater element is found, assign -1
Return the result array
To remove unnecessary parenthesis from an expression, we need to apply a set of rules to identify and eliminate them.
Identify and remove parenthesis around single variables or constants
Identify and remove parenthesis around expressions with only one operator
Identify and remove parenthesis around expressions with operators of equal precedence
Identify and remove parenthesis around expressions with operators of different ...
Find the maximum product of three integers in an array.
Sort the array in descending order.
Check the product of the first three numbers and the product of the first and last two numbers.
Return the maximum of the two products.
Find length of longest consecutive sub array forming an AP from given array of integers.
Sort the array in ascending order
Iterate through the array and find the longest consecutive sub array forming an AP
Use a variable to keep track of the length of the current consecutive sub array forming an AP
Use another variable to keep track of the length of the longest consecutive sub array forming an AP seen so far
based on 7 interviews
1 Interview rounds
based on 10 reviews
Rating in categories
Technical Support Engineer
904
salaries
| ₹12 L/yr - ₹25 L/yr |
Technical Consultant
344
salaries
| ₹13.8 L/yr - ₹32 L/yr |
Member Technical Staff
282
salaries
| ₹18.8 L/yr - ₹60 L/yr |
Senior Member of Technical Staff
257
salaries
| ₹30 L/yr - ₹98 L/yr |
Senior Technical Consultant
247
salaries
| ₹18 L/yr - ₹45.1 L/yr |
SAP
Zoho
Oracle
Adobe