Round 1 (30 mins Introductory round)
General Introduction
Transition of MVC, MVP,MVVM, Clean Architecture
Puzzle : There is container consiting of 10 Black and 10 Blue Balls
Atleast how many attempts are needed to get 2 balls of same color (ans : 3)
1 or 2 basic kotlin and android questionsRound 2 (OA)
29 MCQ(Android + Kotlin) + 1 DSA (Graph Question)
Solved 29 mcq (RxJava, Coroutines, Activities..)
Didn't attempt the DSA problem as never practiced graph yet
After mcq just submitted in 18 minsRound 3 (Android Basics)
Basic lifecycle related questions
easy Kotlin questions eg: extension functions, coroutines basics and few more
data passing between activites and fragments thorugh viewmodel and bundlesRound 4 (Android + machine round)
Few medium level android questions
bit of design patterns and architectural patterns
Design an application to show list of videos with mvvm + clean architecture
No need to write code to compile, only focused on architecture
Discussed few scenarios like memory leaks and some improvement in the code I wrote
Then asked to design a class whose responsibility is to save image to internal storage
Syntax not needed but mainly focused on how will handle thread and states of downloading
State :- Not downloaded yet, In progess, Failed, Success
Also disucssed unit test case scenario for different layersRound 5 (Hiring Mangager)
Discussed about things I did in past
Puzzle : What will be degree between hour and minute hand when time is 3:15
Question related to Kotlin :
Coroutines working, exception handling, Job vs Supervisor Job , few sudo code and output
Dagger : Provides vs Bind and general dagger stuff
Forgot few question but it was a medium level round Round 6 (Android + Computer Fundamentals -> Hard)
1. Parallelism vs Concurrency
2. Extension function internal working
3. What is JNI
4. What is Interceptor
5. Shared Element Transition in Android
6. Bandwidth VS Latency
7. What are major difference between Android and iOS Developement (answered 3 points)
Just answered a bit for extension function internal
For JNI explained a bit about NDK
For other questions never heard those terminology 😑
Ofcourse Rejected 👀🌝But hiring manager guy was intrested on hiring me so we had discussion why Round6 went bad then asked for other offers, So finally gave me another chance and again a discussion was scheduled with some top level Head of enginerring
Round 7
1. Why leaving my curr orgainization
I said for money and wanted to join where work is more challenging but money ctc contributes 80% of reason
2. Why to join sharechat
I said heard quite times about engineers over here as you guys have some amazing engineers and would like to work with them
3. Need to create a generic method to merge two sorted list of any type
Wrote the code, got error as I didn't added comparators so just added that and completed itResult selected