Q: Tell me about a time you led a challenging Android project. A: Describe a real example: app migration, architecture overhaul, tight deadline. Emphasize decision-making, stakeholder communication, and successful delivery.
Q: How do you mentor junior developers? A: I conduct code reviews with explanation, hold 1:1 sessions, and encourage pair programming. I also break down complex problems and explain concepts with context.
Q: How do you handle disagreements in a team over architecture or tech choices? A: I gather opinions, back discussions with measurable pros/cons, and if needed, prototype both options. I align final decisions with team consensus and business goals.
Q: How do you ensure code quality across your team? A: Through consistent code reviews, shared coding guidelines, static analysis tools (like Lint, Detekt), and CI integration for tests and formatting checks.
Q: How do you handle working with cross-functional teams (design, QA, backend)? A: I set clear expectations, attend cross-team standups, maintain async documentation, and proactively raise blockers. I believe in aligning early with all stakeholders.
β Process & Communication
Q: How do you estimate tasks for sprint planning? A: Break down features into sub-tasks, assess complexity (network, UI, DB), consider dependencies, and use past data or story points to provide estimates.
Q: What do you do if you know you canβt meet a deadline? A: I inform the manager early, share a realistic timeline, and offer compromises (MVP, cut scope) if possible. I keep stakeholders updated transparently.
Q: How do you prioritize bugs vs features? A: I evaluate impact (crash vs cosmetic), frequency, and business risk. High-impact bugs are prioritized first. I involve PMs when trade-offs are needed.
Q: How do you ensure your app meets business goals? A: I understand user workflows, align with product teams, log user behavior with analytics, and validate releases through testing + feedback loops.
Q: How do you onboard into a new project or domain quickly? A: I read existing documentation/code, set up the project locally, observe flows using the app, and ask focused questions to understand the domain.
β Leadership & Ownership
Q: What makes you a good fit for a Senior Developer role? A: I bring a strong technical foundation, a habit of mentoring others, clear communication, and ownership of delivery from planning to release.
Q: How do you handle tech debt? A: I document it, raise it during sprint planning, and push for small refactors alongside features. For large debt, I plan dedicated tech debt sprints.
Q: Tell me about a time you missed something in production. How did you handle it? A: Be honest. Explain what failed, how you handled rollback/fix, what you learned, and what process improvement (e.g., automated tests, release checklist) you introduced.
Q: How do you ensure knowledge sharing in your team? A: Internal tech talks, shared Confluence/Notion pages, pairing, onboarding docs, and PRs with detailed context help spread knowledge and reduce silos.
Q: What do you do if someone in your team underperforms? A: I start with empathy β understand blockers, pair on tasks, give frequent feedback, and involve the manager if needed after trying to help constructively.
β Architecture & Decision Making
Q: Why would you choose MVVM over MVP? A: MVVM works well with modern Jetpack libraries like LiveData/StateFlow, encourages separation of UI and logic, and is lifecycle-aware via ViewModel.
Q: How do you decide between using Room vs direct SQLite? A: I prefer Room for type safety, DAO abstraction, and compile-time query checking. Iβd use raw SQLite only for very lightweight or highly custom use cases.
Q: How do you handle backward compatibility? A: I use version checks, avoid deprecated APIs, use Jetpack libraries that offer backward support, and test features on minimum supported API levels.
Q: How do you decide which 3rd party libraries to include? A: I evaluate based on community support, maintenance activity, license (e.g. Apache 2.0), and whether the functionality is critical or could be done in-house.
Q: How do you stay updated with Android developments? A: I follow Android Developers Blog, watch talks (Google I/O), explore samples on GitHub, subscribe to newsletters like Android Weekly, and try things hands-on.