Status: Experienced - 1.6 years, umemployed currently
Position: Software engineer 2 at Progress Software
Location: Hyderabad, India
Date of offer: July 23, 2020
The interview consisted of 1 online assesment(Hackerrank), 2 technical rounds, 1 managerial round, 1 HR.
I. Online assesment(Hackerrank): 2 coding questions
(a) Find all possible palindromes(substrings) count in a given string(A variation of longest palindrome
substring in a string)
(b) Check if a binary tree is binary search tree or not(Application of inorder traversal)
II. Technical Round - [1]
(a) Swap every 2 nodes in a Linked List(varitation of reversing every alternate portion of LL)
--> Was asked to write to both iterative and recursive solution [O(n)].
Eg: 1->2->3->4->5 becomes 2->1->4->3->5
(b) Find # of rotations in a sorted, left rotated array(Application of binary search)
--> First gave linear search solution [O(n)], then binary search solution [O(log n)].
--> Was asked to code the binary search solution.
(c) Find the first non-repeating character in a running stream of characters(Application of doubly linked list, hashmap)
--> Gave heap based soltuion first[O(n log 26)], then doubly linked list solution with hashmap of references & count of characters[O(n)].
III. Technical Round - [2]
(a) Find top K-frequent elements in an array of numbers(Application of heaps, bucket sort)
--> First gave sorting array solution[O(n log n)], optimized with heap of size K [O(n log k)],
then bucket sort based solution[O(n)].
--> Was asked to code heap based solution.
(b) Given # of courses(n) and pairs of courses[(a,b), (c,d), ..] i.e pair (a, b) means course a must be taken before b
Find if all courses in given pairs can be taken without any deadlock scenario(Application of DFS in
graphs)
--> Basically we need to find if there exists a cycle in the graph, gave DFS solution[O(V + E)].
--> Was asked to code the DFS solution.
IV. Managerial round - Hiring Manager
(a) About my background, tell me about yourself?
(b) Explanation about my previous company projects.
(c) Asked about debugging skills, what debbugging tools used in the past.
(d) Explain a situation which won't be solved without my presence.
(e) A little bit of supervised & unsupervised ML defintions, questions(Resume based).
V. HR round
(a) About my background, tell me about yourself?
(b) what are your strengths, weaknesses?
(c) Why left previous company?
(d) Where do you see yourself 5 years from now?
(e) Salary negotiation.
Verdict: Selected [But I rejected it as I gave it for interview experience only]
Preparation:
I know I've to climb the mountain if I want to crack any FAANG, now I will be focusing further on my problem solving skills. Hence, continuing my preparation for that one day into FAANG.
I would like to thank entire LeetCode community especially problem discussion section, It is really helping me not to give up and improving my thinking process.
I suggest everyone to use LeetCode problem discussion section effectively where you get to know different kinds of solutions for same problem, improving your thought process.
Happy coding!!