LearnThatStack Ace your next interview
Mobile Development

Android & Jetpack Compose.

Start free Change topic Change
Practice · Questions

All questions

Showing of 109
Beginner 27
01

Explain the difference between == and .equals() in Java.

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain
  • == compares memory addresses (reference equality) for objects, and actual values for primitives.
  • .equals() compares the actual content/values of objects.
String s1 = new String("Hello");
String s2 = new String("Hello");
String s3 = "Hello";
String s4 = "Hello";

System.out.println(s1 == s2);        // false (different objects)
System.out.println(s1.equals(s2));   // true (same content)
System.out.println(s3 == s4);        // true (string pool)
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

02

What are the different types of exceptions in Java?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain
  • Checked Exceptions: Must be handled at compile time (IOException, SQLException)
  • Unchecked Exceptions: Runtime exceptions (NullPointerException, ArrayIndexOutOfBoundsException)
  • Errors: Serious system problems (OutOfMemoryError, StackOverflowError)
// Checked exception - must handle
try {
    FileReader file = new FileReader("file.txt");
} catch (IOException e) {
    e.printStackTrace();
}

// Unchecked exception - optional handling
String str = null;
str.length(); // NullPointerException
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

03

Explain the four pillars of OOP with examples.

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain
  1. Encapsulation: Bundling data and methods together, hiding internal details
  2. Inheritance: Creating new classes based on existing ones
  3. Polymorphism: Same interface, different implementations
  4. Abstraction: Hiding complex implementation details
// Encapsulation
public class BankAccount {
    private double balance; // hidden data
    
    public void deposit(double amount) { // controlled access
        if (amount > 0) balance += amount;
    }
}

// Inheritance
class Animal {
    void speak() { System.out.println("Animal speaks"); }
}
class Dog extends Animal {
    void speak() { System.out.println("Woof!"); }
}
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

04

What is the difference between method overloading and method overriding?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain
  • Overloading: Multiple methods with same name but different parameters (compile-time polymorphism)
  • Overriding: Subclass provides specific implementation of parent class method (runtime polymorphism)
// Overloading
class Calculator {
    int add(int a, int b) { return a + b; }
    double add(double a, double b) { return a + b; }
}

// Overriding
class Shape {
    void draw() { System.out.println("Drawing shape"); }
}
class Circle extends Shape {
    @Override
    void draw() { System.out.println("Drawing circle"); }
}
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

05

What is the Android Application Architecture?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

Android architecture consists of several layers:

  1. Applications: User-facing apps and system apps
  2. Application Framework: APIs for app development (Activity Manager, Content Providers, etc.)
  3. Libraries & Android Runtime: Core libraries and ART (Android Runtime)
  4. Hardware Abstraction Layer (HAL): Interface between Android and hardware
  5. Linux Kernel: Core system services, drivers, memory management
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

06

Explain the Android application lifecycle.

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

Android apps go through various states:

  • Not running: App is terminated or never started
  • Created: App is loaded into memory but not visible
  • Started: App is visible but not in foreground
  • Resumed: App is in foreground and interactive
  • Paused: App is partially obscured
  • Stopped: App is not visible
  • Destroyed: App is terminated and removed from memory

The system manages this lifecycle based on memory pressure and user interactions.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

07

What is an APK and what does it contain?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

APK (Android Package Kit) is a compiled Android application package containing:

  • Manifest file: App permissions, components, metadata
  • Classes.dex: Compiled Java/Kotlin code
  • Resources: Images, layouts, strings
  • Assets: Raw files
  • META-INF: Certificate and signature files
  • lib/: Native libraries
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

08

Explain the four main Android components.

Part of Pro
09

What is the difference between Activity and Fragment?

Part of Pro
10

What is the difference between implicit and explicit intents?

Part of Pro
11

What are the different types of layouts in Android?

Part of Pro
12

Explain the concept of View and ViewGroup.

Part of Pro
13

What is the difference between dp, sp, and px?

Part of Pro
14

What are the different data storage options in Android?

Part of Pro
15

Explain SharedPreferences and when to use it.

Part of Pro
16

What is the main thread (UI thread) in Android?

Part of Pro
17

What are the different types of testing in Android?

Part of Pro
18

What is LiveData and how does it differ from Observable fields?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

LiveData is a lifecycle-aware observable data holder. Key differences from regular observables:

  • Lifecycle awareness: Only notifies active observers
  • Automatic cleanup: Removes observers when lifecycle is destroyed
  • No memory leaks: Automatically handles observer lifecycle
  • Main thread delivery: Updates always delivered on main thread
class UserViewModel : ViewModel() {
    private val _userName = MutableLiveData<String>()
    val userName: LiveData<String> = _userName
    
    // Observer only receives updates when in STARTED or RESUMED state
}
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

19

What is Navigation Component and what problems does it solve?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

Navigation Component manages fragment transactions and provides:

  • Visual navigation editor: Design navigation in Android Studio
  • Type-safe argument passing: Using Safe Args plugin
  • Built-in animations: Transition animations between destinations
  • Deep linking: Handle incoming links
  • Back stack management: Automatic handling of up/back actions

Components: NavGraph, NavController, NavDestination, and navigation XML.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

20

How do you pass data between fragments using Navigation Component?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

Using Safe Args plugin:

// In navigation XML
<fragment android:id="@+id/detailFragment">
    <argument
        android:name="userId"
        app:argType="integer" />
</fragment>

// Passing data
val action = UserListFragmentDirections.actionToDetail(userId = 123)
findNavController().navigate(action)

// Receiving data
class DetailFragment : Fragment() {
    private val args: DetailFragmentArgs by navArgs()
    
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        val userId = args.userId
    }
}
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

21

What's the difference between Data Binding and View Binding?

Part of Pro
22

What is Jetpack Compose and how does it differ from traditional View system?

Part of Pro
23

What is a Composable function and what are its key characteristics?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

A Composable function is a regular Kotlin function annotated with @Composable that describes a piece of UI. When called, it emits UI elements into the composition.
Key Characteristics:

  • Annotated with @Composable: Must have the annotation to be part of the composition
  • Fast and idempotent: Should be fast to execute and produce the same result for the same inputs
  • Side-effect free: Should not have side effects in the main body
  • Can call other Composables: Can compose other UI elements
  • Reactive to state changes: Automatically recomposes when state changes
@Composable
fun UserProfile(user: User) {
    Column {
        Text(text = user.name)
        Text(text = user.email)
    }
}
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

24

Explain the State and MutableState interfaces in Compose.

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

State and MutableState are interfaces that represent observable state in Compose:
State:

  • Read-only interface
  • Has a value property
  • Triggers recomposition when observed
    MutableState:
  • Extends State
  • Allows modification of the value
  • Created using mutableStateOf()
    Property Delegation:
    Compose supports property delegation for cleaner syntax using by keyword.
@Composable
fun StateExample() {
    // Using property delegation
    var count by remember { mutableStateOf(0) }
    // Without delegation
    val countState = remember { mutableStateOf(0) }
    Text("Count: $count") // Using delegated property
    Text("Count: ${countState.value}") // Using state.value
    Button(onClick = { count++ }) { Text("Increment") }
}
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

25

What are Modifiers in Compose and how do they work?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

Modifiers are a way to decorate or configure Composable elements. They allow you to change appearance, add behavior, handle events, and modify layout.
Key Characteristics:

  • Chainable: Multiple modifiers can be chained together
  • Order matters: The sequence of modifiers affects the result
  • Immutable: Each modifier returns a new Modifier instance
    Common Modifier Categories:
  • Layout: size, padding, fillMaxWidth
  • Appearance: background, border, clip
  • Interaction: clickable, focusable
  • Drawing: alpha, rotate, scale
@Composable
fun ModifierExample() {
    Box(
        modifier = Modifier
            .size(100.dp)
            .background(Color.Blue)
            .padding(16.dp)
            .clickable { /* handle click */ }
            .clip(CircleShape)
    )
}
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

26

Explain the difference between Row, Column, and Box layouts.

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

These are the fundamental layout composables in Compose:
Row:

  • Arranges children horizontally
  • Supports horizontal arrangement and vertical alignment
  • Similar to LinearLayout with horizontal orientation
    Column:
  • Arranges children vertically
  • Supports vertical arrangement and horizontal alignment
  • Similar to LinearLayout with vertical orientation
    Box:
  • Stacks children on top of each other
  • Supports content alignment
  • Similar to FrameLayout
@Composable
fun LayoutExamples() {
    Row(
        horizontalArrangement = Arrangement.SpaceBetween,
        verticalAlignment = Alignment.CenterVertically
    ) {
        Text("Left")
        Text("Right")
    }
    Column(
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Text("Top")
        Text("Bottom")
    }
    Box(contentAlignment = Alignment.Center) {
        Text("Background")
        Text("Foreground")
    }
}
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

27

How do you create custom Composable functions?

Part of Pro
Intermediate 64
28

What is the difference between String, StringBuilder, and StringBuffer?

Part of Pro
29

Explain Java's garbage collection mechanism.

Part of Pro
30

Explain the concept of interfaces vs abstract classes.

Part of Pro
31

What is the difference between Dalvik and ART?

Part of Pro
32

Explain Activity lifecycle methods in detail.

Part of Pro
33

What are the different types of Services in Android?

Part of Pro
34

Explain RecyclerView and its advantages over ListView.

Part of Pro
35

What is Room Database and its components?

Part of Pro
36

Explain the difference between Serializable and Parcelable.

Part of Pro
37

Explain different ways to perform background operations in Android.

Part of Pro
38

What is a Handler and Looper in Android?

Part of Pro
39

What are the lifecycle-aware components for background operations?

Part of Pro
40

How do you perform network operations in Android?

Part of Pro
41

How do you handle network security in Android?

Part of Pro
42

What causes memory leaks in Android and how to prevent them?

Part of Pro
43

Explain OutOfMemoryError and how to handle it.

Part of Pro
44

Explain MVC, MVP, and MVVM patterns in Android.

Part of Pro
45

What is Dependency Injection and why is it useful?

Part of Pro
46

Explain the Repository pattern in Android.

Part of Pro
47

How do you test Activities and Fragments?

Part of Pro
48

How do you optimize Android app performance?

Part of Pro
49

What is ANR and how do you prevent it?

Part of Pro
50

What are Android security best practices?

Part of Pro
51

How do you store sensitive data securely in Android?

Part of Pro
52

What is the difference between Kotlin and Java for Android development?

Part of Pro
53

Explain Android App Bundle and its benefits.

Part of Pro
54

What is WorkManager and when should you use it?

Part of Pro
55

Explain the concept of Deep Links in Android.

Part of Pro
56

What are Content Providers and when to use them?

Part of Pro
57

How do you handle different screen sizes and orientations?

Part of Pro
58

Explain the MVVM pattern in context of Android Architecture Components.

Part of Pro
59

Explain ViewModel and its lifecycle. Why doesn't it get destroyed on configuration changes?

Part of Pro
60

What are the different types of LiveData and when to use each?

Part of Pro
61

How do you handle database migrations in Room?

Part of Pro
62

Explain different types of relationships in Room.

Part of Pro
63

What are the threading rules in Room and how do you handle them?

Part of Pro
64

Explain different navigation patterns and when to use each.

Part of Pro
65

How do you handle deep links in Navigation Component?

Part of Pro
66

Explain different types of WorkRequests in WorkManager.

Part of Pro
67

How do you chain work operations in WorkManager?

Part of Pro
68

What is Paging Library and what are its benefits?

Part of Pro
69

How do you implement basic paging with Paging 3?

Part of Pro
70

How do you handle loading states in Paging 3?

Part of Pro
71

How do you implement custom binding adapters in Data Binding?

Part of Pro
72

Explain state management in Compose with remember and mutableStateOf.

Part of Pro
73

What is DataStore and how does it improve upon SharedPreferences?

Part of Pro
74

What is Hilt and how does it simplify dependency injection?

Part of Pro
75

Explain CameraX and its advantages over Camera2 API.

Part of Pro
76

What is the difference between Flow and LiveData?

Part of Pro
77

How do you implement Repository pattern with Room and Retrofit?

Part of Pro
78

Explain the concept of recomposition in Jetpack Compose.

Part of Pro
79

What is the difference between `remember` and `rememberSaveable`?

Part of Pro
80

What is state hoisting and why is it important?

Part of Pro
81

What are the different types of state in Compose and when to use each?

Part of Pro
82

What is LazyColumn and how does it differ from Column with scrolling?

Part of Pro
83

What is `derivedStateOf` and when should you use it?

Part of Pro
84

How does Compose Navigation work?

Part of Pro
85

How do you handle configuration changes in Compose?

Part of Pro
86

How do you test Composable functions?

Part of Pro
87

What debugging tools are available for Compose?

Part of Pro
88

How do you handle errors in Compose?

Part of Pro
89

How do you integrate Compose with existing View-based code?

Part of Pro
90

How do you implement animations in Compose?

Part of Pro
91

How do you handle deep linking in Compose Navigation?

Part of Pro
Expert 18
92

Explain the Android build process.

Part of Pro
93

What is the difference between Foreground, Background, and Bound services?

Part of Pro
94

How do you implement database testing in Room?

Part of Pro
95

How do you monitor work status and handle failures in WorkManager?

Part of Pro
96

How do you handle side effects in Compose?

Part of Pro
97

How do you implement encrypted storage in Android with Security library?

Part of Pro
98

How do you test ViewModels that use Hilt?

Part of Pro
99

What are the best practices for using Android Jetpack libraries?

Part of Pro
100

What are Jetpack Compose effects and when to use each?

Part of Pro
101

What causes unnecessary recompositions and how can you avoid them?

Part of Pro
102

How can you optimize LazyColumn/LazyRow performance?

Part of Pro
103

What is the purpose of `@Stable` and `@Immutable` annotations?

Part of Pro
104

What is CompositionLocal and when should you use it?

Part of Pro
105

What are custom Modifiers and how do you create them?

Part of Pro
106

What is the Composition lifecycle?

Part of Pro
107

How do you implement custom layouts in Compose?

Part of Pro
108

What are the performance implications of using Compose?

Part of Pro
109

What are some common Compose pitfalls and how to avoid them?

Part of Pro

No matches

Try a different filter or search term.

Know someone prepping for Android & Jetpack Compose? Send them this set.
Pro · $10/mo

95 of 109 Android & Jetpack Compose answers are in Pro.

Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.

  • Full answers + code
  • AI explanations, simpler or deeper
  • 1,000 AI credits / month
  • Cancel anytime

Change topic

Pick a different technology or stack. Your current topic stays put until you choose a new one.

Technologies
No technologies match “”.
Cross-cutting topics
No topics match “”.
By role
Stacks & frameworks

MEAN

MongoDB, Express, Angular, Node.js

MERN

MongoDB, Express, React, Node.js

LAMP

Linux, Apache, MySQL, PHP

Django

Python Full-Stack Development

Ruby on Rails

Convention over Configuration

Serverless on AWS

Serverless Architecture on AWS

Flutter Mobile

Flutter Cross-Platform Mobile Development

Spring Boot

Enterprise Java Development

.NET

Microsoft Ecosystem

Vue

Vue.js, Vite, TypeScript, Tailwind, Node.js

Go Backend

Golang, gRPC, PostgreSQL, Redis, RabbitMQ

FastAPI

Python, FastAPI, SQLAlchemy, PostgreSQL

React Native

React, TypeScript, Redux, Firebase

iOS Native

Swift, SwiftUI, UIKit, Firebase

Android Native

Java, Jetpack Compose, Firebase

DevOps / Platform

Docker, Kubernetes, Terraform, CI/CD

AI Engineer

LLMs, RAG, Agents, Evals

AI-Powered Developer

Claude Code, Copilot, Agentic Workflows

Core SWE Interview Prep

Data structures, algorithms, OS, concurrency, networking, git