Comments (2)
@Lex74 Ok, we will do it very soon
from android-interview-questions.
While I agree that this would be useful, every interview and team is different, so categorizing it that way may be misleading.
However, as per my experience, here is how I would categorize the information based on Junior, Mid-level, and Senior Interviews:
Junior:
- Expect questions on object-oriented programming concepts/principles (OOPS), such as Interfaces, abstractions, etc., as well as simple programming questions.
- I would also expect base Android Questions, such as components of an Android Application, lifecycles of an Activity or Fragment, etc.
- Difference between the different layouts, e.g. ConstraintLayout, LinearLayout, FrameLayout, etc.
- Maybe some beginner Kotlin Questions
Mid-level:
- Same as Junior, plus:
- mid-level data structure problems
- multi-threading questions, how best to handle them, especially in Android, e.g. AsyncTask (Deprecated), ThreadPools/ExecutorService, RxJava (Preferred), Coroutines (Preferred, with Kotlin)
- How to prevent memory leaks
- More Kotlin questions, probably some Kotlin-based Coding questions
- Likely questions on Kotlin-specific knowledge, such as delegation, extension functions, and coroutines
Senior:
- Design Patterns, e.g. Factory, Builder, Singleton
- Architecture Patterns, e.g. MVC, MVP, MVVM, UDF, MVI, Clean Architecture
- System Design Questions (usually a whole round in the Interview process, generally 30-60 min), e.g. "Design Facebook", "Design Twitter", difference between Polling and Websockets, etc. (For more information on System Design Questions, google it, or look at "Grokking the System Design Interview"; there are many wonderful resources on this.)
- More thread-handling questions, e.g. difference between threadlocks and race conditions, what is a semaphore,etc.
- Likely in-depth analysis on commonly used views such as RecyclerViews/ListViews
- Creating an app from scratch using preferred architecture and best practices (usually MVVM)
- Debugging an app with preferred architecture and best-practices, and commonly used libraries like Paging, Retrofit, etc.
These are not hard and fast rules, but may be a good guideline to follow.
If anyone would like me to incorporate this to the base Readme, let me know and I will create a pull request. Or feel free to add to this as well.
from android-interview-questions.
Related Issues (20)
- All the provided link are same?? HOT 1
- clarification on Integer class Hierarchy HOT 2
- String listed as Java primitive data type HOT 1
- Best Regards HOT 1
- Imp
- Hilt HOT 2
- What is Espresso? Link Broken. HOT 2
- Add WorkManager
- hi
- Explain about Pre-Installed Android Applications in Android Devices. HOT 2
- Flows blog doubt HOT 1
- I Love this Community, but Should We Have More Active Contributors? HOT 2
- [Critical Issue] Mistake in README file which can mislead a beginner HOT 1
- Instantiation vs Initialization
- Resource link removed from "Differences between abstract classes and interfaces?"
- Resource link removed from "Explain unit test"? HOT 2
- Update "Activity launch mode" with a link to a more visualized article HOT 1
- What is AppCompatActivity ? HOT 2
- Method name is wrong which is leading towards confusion : What is onSavedInstanceState() and onRestoreInstanceState() in activity? HOT 1
- Difference between enumeration and iteration HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-interview-questions.