Posts

Showing posts from July, 2026

What is CI/CD?

 This is a very common Senior Android Developer interview question. Interviewers usually want to know whether you understand the entire app delivery pipeline , not just Git or Fastlane. What is CI/CD? CI (Continuous Integration) Developers frequently merge code into a shared repository. Every commit automatically: Builds the project Runs unit tests Checks code quality Detects issues early CD (Continuous Delivery/Deployment) After CI succeeds, the app is automatically: Signed Distributed to testers Uploaded to the Play Store (or prepared for release) Complete Android CI/CD Flow Developer │ ▼ Git Feature Branch │ ▼ Pull Request │ ▼ Code Review │ ▼ Merge to develop/main │ ▼ CI Server (GitHub Actions / Jenkins) │ ├── Checkout Code ├── Gradle Build ├── Run Unit Tests ├── SonarQube Analysis ├── Lint ├── Build APK/AAB ├── APK Signing ├── Fastlane ├── Firebase App Distri...

Modern Angular features

 If I were mentoring a senior Angular developer in Angular 19–21 , I would say this: Don't just learn the API. Learn why Angular introduced it and when to use it. That's what interviewers expect from a senior engineer. Below are the modern Angular features you should master. 1. Signals ⭐⭐⭐⭐⭐ (Highest Priority) Signals are Angular's new reactive state management system. Writable Signal import { signal } from '@angular/core'; count = signal(0); increment() { this.count.update(value => value + 1); } reset() { this.count.set(0); } Read value: console.log(this.count()); Notice: count() not count 2. Computed Signal ⭐⭐⭐⭐⭐ Automatically recalculates when dependencies change. count = signal(5); doubleCount = computed(() => this.count() * 2); this.count.set(10); console.log(this.doubleCount()); Output 20 No subscriptions. No RxJS. No manual update. 3. Effect ⭐⭐⭐⭐⭐ Runs whenever a signal changes. effect(() => { console.log(this.count()); }); If this.co...