I was presented with a LC medium and a LC hard, during this phone screen.
For the first question, I did give the binary search to find the element, but not the repeated binary search to find first and last position. So the worst case complexity was O(n).
For the second question, I was able to discuss the solution but didn't had enough time to write down the code.
As I was interviewing for an embedded position, I had a follow-up for embedded technical screen
After some hints, I was able to resolve the deadlock question (well, there are multiple ways to resolve, but the interviewer seems to have a specific answer in mind; so it took some time)
For circular queue, I implemented init and enqueue; but not enough time for dequeue.
After few days, recruiter reached out to me that I've been unsuccessful in this initial round. I think there could've been multiple reasons, why I was rejected; it all boils down to what they were expecting for a particular position. If it's highly sought after position, then high expectation too !
Any way, I've learnt quite a lot in this process and many thanks to the whole LC community ! I have my Google interview lined up in few weeks, need to recover from this soon and start prepping up again. Thanks a lot folks !!