Tip 1 : Be solid with the basics of Data Structures and Algorithms . Good to have end to end projects which are hosted on cloud/Github.
Tip 2 : Its always good to be presentable and have good communications skills
Tip 3 : Be honest, clear in approach and always walkthrough your thought process to the interviewer, If you do not know something kindly refuse , donot try to fake anything
Tip 1 : Mention your projects and experience at the top. Be clear on what was done, a brief on how it was done, language /tech stack involved. If possible try to host and make it accessible. You never know if you can present it with just one click.
Tip 2 : Choose a balance between, white spaces and text, it should be well indented, no grammatical errors.
Tip 3 : It takes less than 2 min to scan a resume. Don't mention things which are irrelevant.
It was a zoom call with a SDE-2 person, after 15 mins into my background he jumped directly to the questions
For the given binary tree: [1, 2, 3, -1, -1, 4, 5, -1, -1, -1, -1]
Start Node: 3
1
/ \
2 3
/ \
4 5
Output: 2
Explanation :
In the zeroth minute, Node 3 will start to burn.
After one minute, Nodes (1, 4, 5) that are adjacent to 3 will burn completely.
After two minutes, the only remaining Node 2 will be burnt and there will be no nodes remaining in the binary tree.
So, the whole tree will burn in 2 minutes.
1. Make in-place changes, that is, modify the nodes given a binary tree to get the required mirror tree.
In zigzag order, level 1 is printed from left to right fashion, level 2 is printed from right to left. and level 3 is printed from left to right again, and so on…..
For the given binary tree
The zigzag traversal is [1, 4, 3, 5, 2, 7, 6]
Again this was a Problem Solving round taken by a SDE-2
1. It is guaranteed that the given graph is DAG.
2. There will be no multiple edges and self-loops in the given DAG.
3. There can be multiple correct solutions, you can find any one of them.
4. Don’t print anything, just return an array representing the topological sort of the vertices of the given DAG.
Started off by asking Java Fundamentals, OOPS , Design Patters (Singleton, Factory, Cascade), HashMap Internals, Collections, Fail Fast-Fail Safe Iterators
Then jumped off to Problem Solving - Egg Dropping Problem(Learn)
This round was with a SDE-3(Principal Engineer)
1. Trailing zeros in a number can be defined as the number of continuous suffix zeros starting from the zeroth place of a number.
2. For example, if a number X = 1009000, then the number of trailing zeros = 3 where the zeroth place is 0, the tenth place is 0, the hundredth place is 0.
3. ! means “FACTORIAL”. Factorial of a number is calculated by the product of the integer and all integers below it till 1.
4. Value of 0! is 1.
He took a deep dive into my resume and asked a lot of questions around my projects asking my roles and responsibilities in each project/product/team. Asked about Kadane's Algorithm.
After that he started with Spark Theory based questions:
MapReduce Concepts in deep, Shuffle internals, Questions on Hive , re-partition, MSCK repair tables, RDDs, Catalyst optimizer, Lineage Graph, SparkDrive, Spark Submit, Implementation of Split in Reduce Stage, Narrow and Wide Dependancy, Internal and External Tables, Caching a Query in Internal Table, Optimization of SQL query.
Every question was asked in a rapid fire manner
SQL query Using Dense Rank
This round was scheduled with a SDE-3/SDE-4(Senior Principal Engineer):
He directly started with questions after my introduction of 5mins
Question 1 : A scenario/story where Bitonic Sequence was to be implemented.
Question 2 : Design a Scheduler for scheduling n jobs with input give at the runtime , input can be the also generic service to be called.
Question 3 : Assuming you are dumping data in-memory via a data-pipeline , Design a garbage collector that will remove unsed data.(I gave and explained Mark and sweep Algorithm).
Follow-up Questions - What are memory Leaks,how will you calculate free-unused memory, how will you evict used memory, Optimal DS used in this.
Discussion with Hiring Manager
Deep-Discussion on my projects.
My Approach on there use cases /or the problem they were facing.
Questions on Spark(Broadcast Join Scenario), Questions on Map-reduce (Scenario Based)
Question on String Pool, String Buffer internals, Multi-threading, Concurrency
What are my Aspirations?
How do I motivate myself?
What sort of disappointment I faced in life?
Situations where your solution was accepted other than your peers and How did you convince the management for this.
What was the hardest situation overcomed in Life? (I gave My weight transformation from 110 to 60 kg, he did not believe it so showed Facebook Picture)
This round was with VP in Redwood City , it was scheduled around 11:00 pm IST
How is your relationships with your seniors?
What is the most difficult problem you ever faced and how you solved it?
What is your Normal day routine?
How do I manage a stressful situation?
What role have you played which involved your Leadership skills?
Why I want to join there company,
What will happen If I get rejected from this stage?
What are my Life Aspirations?
Discussion on my resume, Work exp, Team Size, Duration of Projects
Why did you switch 2 companies with your experience and why do you want to switch and come here(Despite my answer he advised me to be patient and wait for opportunities).
Discussion on OS, Semaphores,Mutexes,Case Scenarios, Locks
Locking In Distributed Env(1 Phase Vs 2 Phase VS 3 Phase Commits), SpinLocks
Implement a SpinLock(Low level Design)
Data Base Optimization
Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
Which operator is used for exponentiation in Python?