# Interview Questions

### Interview

#### Automotive:

* Android Boot Sequence:
  * &#x20;

    <figure><img src="https://ayusch.com/wp-content/uploads/2019/07/Screenshot-2019-07-07-at-8.47.59-PM.png" alt=""><figcaption></figcaption></figure>
* Platform Architecture:
  * &#x20;

    <figure><img src="https://developer.android.com/static/guide/platform/images/android-stack_2x.png" alt=""><figcaption></figcaption></figure>
* AIDL
* media App Architecture -> [Link](https://developer.android.com/guide/topics/media-apps/media-apps-overview)
* Persistant App
* Android.bp

#### Android

* Launch Modes -> Default, SingleTop, SingleTask, SingleInstance
* Parcellable/Serealizable
* Activity Lifecycle
* Fragment Lifecycle
* Fragment .add() vs .replace() -> [Link](https://vinodpattanshetti49.medium.com/fragment-lifecycle-while-doing-add-and-replace-6a3f084364af)
* Implicit/Explicit Intent
* Threads, Looper, handler, handler thread
* 9-Patch Image

#### Java

* OOPS:
  * Inheritance
  * Polymorphism
  * Abstraction
  * Encapsulation
* Solid Principals
* Design Patterns -> Creational, Behavioural, Structural
  * Creational: Singleton, Builder, Factory, Abstract Factory
  * Behavioural: Chain Of resp, Observer
  * Structural: Proxy, Adapter, Facade, Decorator
* Architecture Patterns -> MVC, MVP, MVVM (android)
* Memory Leak

#### Kotlin

* inline functions
* Scope function
* infix functions
* Coroutine
  * Scope
  * Dispatcher
  * Job
  * CoroutineExceptionHandler

#### Problem

* Write a function that accepts a list of integers and returns the two numbers that add up to a target value. For example, given the list \[1, 2, 3, 4, 5] and a target value of 6, your function should return the tuple (1, 5) or (2, 4).
