VMWare Phone interview (experienced)

vmware logo
vmware
Senior Software EngineerNo Offer
December 8, 20211 reads

Summary

I experienced a frustrating 1-hour phone interview with VMWare for a Senior Software Engineer role, where the interviewer struggled with basic technical understanding and test execution, leading to significant wasted time.

Full Experience

I had a 1-hour phone interview with VMWare before Thanksgiving for a Senior role. The main question revolved around finding the lowest common ancestor (LCA) of two nodes. Initially, I thought it was the version where both nodes are guaranteed to be present (LeetCode #236), but upon clarification, the interviewer specified that nodes might or might not be in the tree (similar to LeetCode #1644).

I proposed two solutions: a two-pass approach to first verify node presence and then find LCA, and a single-pass solution with extra logic. The interviewer asked me to solve either one. I explained the logic for the two-pass solution, coded it, and manually tested it with several examples.

Despite my thorough explanation and manual testing, I felt the interviewer didn't grasp the code flow. They then asked me to write test cases and hardcode a tree to run the code, which I found really weird as interviewers should have some basic understanding of working code. This process wasted over 10 minutes of my interview time.

After successfully running all test cases, they asked for an explanation of the single-pass solution. Again, the interviewer struggled with providing a tree example, consuming more time. I explained the logic and execution via a few test cases and then coded the single-pass solution.

Finally, they asked me to run this second solution in Codility. With all the examples and tree illustrations, there were some compilation issues. After cleaning up the execution area, they wanted to see the output, but we ran out of time. I strongly believe we wouldn't have run out of time if we hadn't wasted 10+ minutes on hardcoding a tree and basic code execution.

Interview Questions (2)

Q1
Lowest Common Ancestor of a Binary Tree
Data Structures & AlgorithmsMedium

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes p and q. This initial understanding of the problem assumed both nodes are guaranteed to be present in the tree. (Referenced as LeetCode #236)

Q2
Lowest Common Ancestor of a Binary Tree (Nodes Optional)
Data Structures & AlgorithmsMedium

A clarification to the initial LCA problem: the given nodes p and q may or may not be present in the tree. If only one node is present, that node is considered the LCA. If neither is present, the function should return null. (This problem variation was referenced as LeetCode #1644, which typically deals with scenarios like parent pointers or BSTs where nodes might not exist, but the core requirement here was handling optional node presence).

Preparation Tips

My preparation largely stems from extensive practice, having solved over 1650 problems on LeetCode. Additionally, I have significant prior interview experience, successfully navigating coding interviews at companies like Google, Facebook, and Apple for both phone screens and onsite rounds, which has honed my coding and problem-solving skills.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!