Round -1 (phone call from HR)
Was asking if I’m interesting to look at new job. I said yes. She explained what a product is, what they are looking for, and my LI profile seems to be a good match. She sent me all details when what and whom …
Round- 2 (technical interview)
HR said a place and time however a couple of inconveniences met me on my way there.
- Parking – should have been a place and should have been paid by a company. Actually – was not. No one asked.
- HR said where an appointment should have taken a place. I was waiting about 10 minutes until an interviewer would meet me. He began by saying – why I was waiting where I was waiting. I said HR said, but by gut feeling – he did not care at all.
Finally we started.
Introduction – He introduced himself, who he is, and what I know about F5. He added more information about a project they are looking for good people, some fairy tale about a product, how it works and how large their backlog.
Next, he asked me to tell what I am working on. I began from my contribution to Open Source, what I do, and smoothly recited my professional projects.
Question 1 – Code snapshot on paper where written code was missing two functions: equals and hashCode. As result the output was different … And hash map did not work as expected.
Question 2 – design pattern. Given a pseudo code, if else and provide refactoring, how would you improve the code. I suggested command design pattern. He asked to write on paper an implementation of suggested solution.
Question 2 – You have to design a solution, like inverse index, i.e. you have a stream of data, it should provide very fast look up O(1) and frequency of words. Simplifying – no need to do language processing, i.e. given two words: sock and socks are two different words.
2.1 – If hash map chosen, then next question – calculate how many times compare was called. A question was how to optimize it? A trick was using native hash map put functionality and write wrapper where memory address remains the same however the context changed.