A killer interview
Intro
Some weeks ago, I remember being completely destroyed on an interview. This interview was a really challenging one for a very interesting position. I was not actively looking for a change, but I decided to give it a try. Most of its questions took me by surprise. However, I must confess that they were quite effective in the way of testing how much you know about the basics.
It was a great opportunity to evaluate myself and identify topics I really need to dive deeper. Here are the questions.
The Questions
- How can I implement
equalsin terms ofhashinJava? - How is equals implemented in
Scala? - How index works on relational DB?
- Explain ACID
- How atomicity is implemented?
- What is consistency in Relational Database?
- Why Redis is so fast? How it is implemented?
- How is Kafka implemented?
- How consumer group works?
Time Complexityfor get and size operation on a Linked List- Complexity of finding an element in an unsorted list
- Complexity of finding an element in a sorted list
- How is HashMap implemented?
- How
Dockerworks internally? - What is an
ADTinScala - What is
Typeclass? What is its difference withinterface? - How Future is schedule? Can I guarantee execution order?
- I have a filesystem of one directory containing files that has strings inside. How can I detect all duplicates?
- What is
thisin javascript - How can I define an
ADTin Typescript? - How Nodejs
Event Loopworks?
Conclusion
I think than taking interviews from time to time is great for keeping in shape. You don’t know when you are going to go back to the interview market. However, it is better to start preparing from now, step by step, one question at a time.
Also, I’m planning to start answering those questions regularly on this blog. It would be a nice chance to keep this blog active.