Linkedin | Senior Software Engineer Systems Infrastructure | Sunnyvale | Phone Screen
Summary
I had a phone screen interview for a Senior Software Engineer position in Systems Infrastructure at Linkedin in Sunnyvale. The interview covered my project experience, core operating system concepts, Python language specifics, and a LeetCode algorithmic problem.
Full Experience
I recently participated in a phone screen interview with Linkedin for the Senior Software Engineer, Systems Infrastructure role in Sunnyvale. The interviewer started by asking me to walk through one of my chosen projects and discuss what I might have done differently in retrospect. Following that, we delved into a series of conceptual questions focused on operating systems, including the distinctions between processes and threads, mutexes versus semaphores, and an in-depth discussion on deadlocks, paging, and page faults.
The interview also covered specific Python language intricacies, such as the difference between the 'is' and '==' operators, and when to use 'copy' versus 'deepcopy'. Finally, I was given a LeetCode problem, Nested List Weight Sum II, which required an algorithmic solution.
Interview Questions (4)
Describe one project of your choice in detail. What aspects of it would you have done differently, and why?
Explain the differences between processes and threads. Discuss mutexes versus semaphores. What are deadlocks and how can they be prevented or handled? Explain paging and page faults in memory management.
Explain the difference between is and == operators in Python. Also, differentiate between copy and deepcopy operations for objects.
Given a nested list of integers, nestedList, where each element is either an integer or a list. The problem asks to return the sum of all integers in the list weighted by their depth. Unlike standard depth-weighted sums, here the weight is calculated from bottom to top: the deepest level integer has a weight of 1, the next level up has a weight of 2, and so on. This implies an integer at depth d in a list with maximum depth maxDepth will have a weight of maxDepth - d + 1.