I have recently attend Hike Hiring Drive for iOS Developer in Delhi office. Candidates are 0-2, 2-4 and 4+ years of experience . I have got referral from recruiter on LinkedIn .
Round 1: Mobile App – (1:30 hour ) They have provided Flickr Api, task is build iOS App that fetch images using search bar input and display the images . Make sure UI should not blocked, mulitple request handling while user typing, code structure, pagination and readability and image caching is plus if you have implemented .
I have build the app in 50 minutes – Link to see https://github.com/Vasu05/Hike-Messenger-Hiring-iOS-Test
After the completion of app, My App is reveiwed by iOS manager .He was cool and friendly .He asked model structure I’ve followed, there is crash in my app, asked me debug and I did , told him the crash reason . He asked about GCD , asked for code optimization .He asked how to detect if user scrolled bottom of page . He inspect the app thoroughly, he was typing, cancelling, clearing data to see behaivour of app. He was impressed since I’ve build all the major features with code optimization . Then we have discussion on current projects I’m into, what I have built in past .This reveiw round was around for 1:20 hr . He asked me to have a lunch and wait for second round .
Round 2: DS Algo (30 min) –
- Find two elements with sum equal to value x in Array.I did it using hashmap .
- Is Tree is BST or Not.
- LRU Implementation
- Discussion on threads handling in iOS
Proper code was required, they have given enough time to think and asked for better approach . I code all three on board with explanation . Interviewer was impressed, asked me wait for another round .
Round 3: This round was supposed to taken by Vice President of company but he was busy with another candidates so another lead come and asked me for another round . He asked two questions
Meanwhile I was writing code for second questions on paper, he said he was done with interview and asked me to meet VP for further round .
Round 4 : This round taken by VP of company . He gaves introduction, what he did, what they are focusing on and talk about how they are different from another messaging apps in market . He asked me whether you prefer pen and paper or writing on screen, then he asked me come to board, it was samsung TV where i supposed to write code with pen . He asked –
- Infinite stream of words you have to tell k most occuring words . I told him approach with heap and trie, he asked me use another data structure for searching, i gave him ternary tree approach still he was expecting better and gave me hint to use map then gave solution using heap and hashmap . He asked me to code .
- check wether binary tree is min heap or not . He left the room and asked me think optimise solution . He comes after 30 minutes break in between i’ve written properties of binary tree and heap then write code for checking tree is min heap or not .He was satisfied .
- He gave me design question – he asked me build sticker search option while user is typing . I told him about memory caching he asked me what all typing of caching we can used . I told him there is App cache maintain by app, disk memory and network memory . I have made diagram how search query will work step by step . Then we have discussion on multiple characters handling when user typing, I said we can use timer to process new request . Then he asked me main thread should not be blocked while user interacting with screen . I told him to use GCD’s and we have long discussion on this . He was satisfied, it was long round, he was helping me when I’m stuck . Then we discussed about company culture, whether he still code, how he started with Hike messenger . He asked me to wait for another round .
- There are many another questions which I’m not remember .
This round goes for 1:40 hour .
After All this i was very exhaused since I have given all question correctly this continuous evaluation was starts from 10:30 in morning .
It was around 5:30 when they scheduled another round of interview .
Round 5: Interviewer scanned my resume, aksed me for brief introduction.I explained him my current company projects and college projects. He was senior backened developer . He starts asking me Java questions . I told him I was not able in touch with since 1.5 years still he asked.
- write code for 1 writer and n reader problem . I told him we can use locks (mutes and semaphore) and gave him solution .
- He asked virtual pointers – I told him I don’t remember .
- Stack vs Heap Memory . I gave him explanation with example .
- Singleton class, why we are using this . He was not satisfied with explanation .
- He asked basic java questions like what public, private, why there is single main function in Java .
After all this recruiter asked me to leave and next day they said last round was not as per expectation . I’m not selected. Tips – prepare your interview like college placement, they can aks anything even if its not related to your hiring post .