Coder Social home page Coder Social logo

forjavaandandroidinterview's Introduction

Java, Android Interview

면접을 보고 정리하거나 지인에게 면접 후기를 듣고 정리했습니다. 날짜는 면접 날짜 or 지인에게 들은 후기 입니다.

답변을 정리한 것은 보통 구글을 검색한 것으로 잘못된 정보가 있을 수 있습니다. 추가로 정리가 필요할 수 있어요. (아래 내용에 키워드로 구글 검색해서 상위에 있는 내용을 정리해두는 것도 도움이 많이 됐던 것 같네요)

문서로 정리된 것은 파일로 업로드하였습니다. 도움이 된 강좌 및 사이트는 아래와 같습니다.

자바

자바 디자인 패턴

안드로이드

시간이 되신다면 최근에 나온 요즘 핫한 코틀린 인 액션도 공부하시면 도움이 되실 것 같습니다 http://www.yes24.com/24/Goods/55148593?Acode=101

샘플 소스는 아래에 있고 이걸로 직접 변경하면서 보는 것이 도움되는 것 같습니다.

추가로 이번에 구글 IO 2018 에서 소개된 Android Jetpack 도 알아두시면 좋을 것 같네요

그리고 Reactive 가 떠오르면서 RxJava도 공부하면 좋을 듯 합니다.

참고할만한 Github

2017-06-04

https://opentutorials.org/module/2870/16475

  • 안드로이드 뷰의 생성 과정
  • 액티비티 생명 주기
  • 안드로이드에서 Enum 사용을 자제시켰는데 그 이유는 무엇인가?
  • 대용량 Bitmap 을 불러올 경우 메모리 문제가 있기 쉬운데 이럴 떄 어떻게 처리하는가?

2017-06-17

https://opentutorials.org/module/2870/16545

  • String Literal
  • Annotation 생성 방법 (관점 프로그래밍)
  • 프로세스와 스레드의 차이
  • ArrayList VS LinkedList
  • Quick Sort
  • Iterator 를 쓰지 않고 직접 참조 시의 문제점
  • DP란?
  • 제네릭이란?
  • Singleton 동기화
  • Heap Data Stack 영역
  • Lambda 식이란?

2017-06-18

https://opentutorials.org/module/2870/16547

  • Vector
  • 서비스에서 뷰를 띄울 수 있는가?
  • Intent Service 란?
  • Doze 모드란?
  • 허프만 코드 알고리즘
  • ListView vs RecyclerView
  • Annotation 이란?
  • MultiDex란?
  • Null Object 패턴
  • Binary Search Tree

2017-06-19

https://opentutorials.org/module/2870/16557

  • ConcurrenModificationException
  • Equals 를 Override 할 때, 반드시 Override 해야하는 함수

2017-06-20

https://opentutorials.org/module/2870/16563

  • Android 서비스는 어떤 Thread 에서 실행되는가?
  • HashMap 자료구조
  • Composite 패턴
  • 상속의 위험성
  • 객체지향언어의 4대 특징
  • 서비스 생명주기
  • 서비스에서 Bind 와 StartService 를 섞어쓰지 않는 이유

2017-06-21

https://opentutorials.org/module/2870/16567

  • Enum 의 장점
  • volatile vs synchronized
  • Java UnitTest
  • View dispatchTouchEvent
  • Dalvik 과 ART 의 차이
  • Android N 변경사항
  • 안드로이드 런타임 퍼미션
  • 안드로이드 Memory Leak
  • Strong Reference vs Weak Reference in Java

2017-06-21

https://opentutorials.org/module/2870/16572

  • 이직 사유
  • 정렬 알고리즘을 알고 있는대로 말해주세요
  • 퀵소트를 말했는데, 해당 정렬 알고리즘을 상세히 설명해주세요.
  • 프로세스와 스레드의 차이는 무엇입니까?
  • 프로세스는 어떠한 영역을 공유하고 스레드는 어떤 영역을 공유하나요
  • 디자인패턴을 알고 있는대로 알려주세요
  • 말하신 디자인패턴을 각각 예를 들어 설명해주세요
  • 언급하신 Singleton 은 논란이 있는 부분이 있습니다. 어떤 부분인지 아시나요?
  • 자신이 UI Driven 인지 Data Driven 인지 어느 쪽에 가깝다고 생각하시나요?
  • 객체지향의 4대 특징이 무엇인가요?
  • 각각에 대해서 예를 들어 자세히 설명해주세요
  • 인텐트 등의 프로세스 간의 통신이 아닌 앱 내부적으로 이벤트를 받았을때, 업데이트 하는 방법에는 무엇이 있나요?
  • 백그라운드 작업을 할 때, 안드로이드에서는 어떤 방법을 이용할 수 있나요?
  • Activity Class 를 이용해서 백그라운드 스레드를 돌릴 수 있는 방법?
  • 다이나믹 프로그래밍이란 무엇인가요?
  • 오버로딩과 오버라이딩의 차이점은 무엇인가요?
  • 자바와 자바스크립트 외에 어떤 언어를 할 줄 아나요?
  • 요즘 관심있는 언어나 분야는 무엇인가요?
  • Github 사용하시나요, 사용하시면 어떤 프로젝트를 진행했나요?
  • 현재 진행하는 프로젝트 중에 Kotlin 을 이용하거나 진행할 예정이 있나요?

2017-07-03

https://opentutorials.org/module/2870/16710

  • 네이티브힙
  • MVP 패턴
  • Parcelable vs Serializable
  • Comparable
  • RxJava란?
  • Atomic Type
  • 데드락을 해결하려면?
  • Singleton Double Checked Lock
  • 해시코드란?
  • 해시맵을 만들려면 무슨 자료구조를 쓸까?

2017-07-05

https://opentutorials.org/module/2870/16724

  • Recycler View Holder
  • 안드로이드 성능 개선 툴
  • onTouch Event 리턴값의 의미 등을 자세히 설명
  • onInterceptTouch 리턴값의 의미를 자세히 설명
  • 구조 개선 시에 사용한 디자인 패턴
  • DB 접근 시 ANR 발생은 어떤 식으로 개선했는가?
  • Handler, Looper, HandleMessage 의미
  • Android MutiThread 환경 설명
  • View 에 대한 전반적인 질문
  • 성능 개선한 사례에 대한 전반적인 질문
  • onDispatchTouchEvent
  • 인터페이스 활용의 장점
  • 맵 자료구조 설명
  • HashMap 과 HashTable 의 차이
  • 안드로이드 맵 자료구조 (ArrayMap 등의 사용법 등)
  • 전반적인 View, Thread, 성능 개선에 대해 중점적인 추가 질문

2017-07-17

https://opentutorials.org/module/2870/16875

  • onStart 와 onResume 의 차이
  • 디자인패턴 아는 것을 말해보세요
  • AsyncTask 최근 변화
  • ListView, RecyclerView 차이와 ConstraintLayout behavior 적용이 왜 안되는지?
  • 최근 안드로이드 트렌드
  • Interface 와 Abstract 에 대한 설명
  • Set, Map, List 에 대해 설명
  • 동기화 방법에 대해 설명
  • 해시맵을 사용할 때 주의점은 무엇인가?
  • 프로세스와 스레드에 대해서 설명
  • GC 과정에 대해서 설명
  • 접근지정자에 대해서 설명
  • 오버로딩과 오버라이딩에 대해서 설명
  • 리플렉션에 대해 설명
  • Parcelable 에 대해서 설명
  • Strict Mode 에 대해서 설명
  • 일반 뷰와 Surface View 의 차이
  • Handler, Looper 에 대해서 설명
  • ANR 을 피하려면 어떻게 해야 하는가?
  • 백키로 앱을 종료했을 때 프로세스는 종료되나요, 되지 않나요?
  • 종료되면 왜 종료되나요? 종료되지 않으면 왜 종료되지 않나요?
  • Zygote 에 대해서

2017-07-24

https://opentutorials.org/module/2870/16969

  • 자신의 장점과 단점
  • 요즘 기술 트렌드 학습하는 법
  • 부서나 업무 롤의 분쟁이 일어났을 때 해결한 경험
  • 이직하려는 이유는?
  • 이전 직장에서 맡았던 개발과 역할?
  • 배우고 싶은 기술은 어떤 것이 있나요?
  • wait / notifyall 관련 손코딩
  • quicksort 손코딩
  • quicksort 알고리즘 과정 그림으로 설명 (화이트보드)
  • Circular List 와 일반 Linked List 구분하는 법은?
  • 즐겨쓰는 디자인패턴과 이유
  • GC 과정을 설명해주세요
  • GC 알고리즘을 설명해주세요
  • Dalvik 에서 Art 로 바뀌면서 GC 알고리즘이 변경되었는데 어떻게 변경되었나요?
  • HashTable 을 구현한다면 어떻게 구현하실래요?
  • Hash 를 쓰는 이유는 무엇인가요?
  • 아시는 Sort 알고리즘 모두 설명해주세요
  • JDK 의 Sort 는 어떻게 되어있나요?
  • HashMap 사용 시 hashCode 및 equals 오버라이딩 시의 주의점 및 규약
  • 자신이 생각하는 OOP 란 무엇인가?
  • 자바의 메모리 구조에 대해서 설명해주세요
  • 프로세스 및 스레드에 대해서 설명해주세요
  • Singleton 패턴을 멀티스레드 환경에서 적용하는 3가지 방법에 대해서 설명해주세요
  • Merge Sort 와 Quick Sort 의 장단점 및 시간복잡도, 공간복잡도를 알려주세요
  • 데드락 발생 조건에 대해서 설명해주세요
  • 데드락 회피 방법 및 대응 방법에 대해서 설명해주세요
  • Java 멀티스레드 구현을 위해 고려할 수 있는 것을 모두 알려주세요
  • interface 와 abstract 의 차이
  • 오버로딩과 오버라이딩의 차이
  • 오버로딩이 제네릭에서 쓰일 때는 어떻게 사용되나요?
  • 컴파일 타임 오버라이딩 및 런타임 오버라이딩에 대해 설명해주세요
  • Java ITC?
  • Java concurrent package 에 대해서 설명해주세요
  • 어노테이션에 대해서 설명해주세요
  • Android 시스템 구조
  • Android APK 구조
  • 액티비티나 커스텀뷰로 할 수 있는데 프래그먼트를 쓰는 이유는?
  • Handler / Thread / Looper
  • 백그라운드로 UI 를 업데이트하는 방법을 모두 알려주세요
  • 인텐트와 인텐트 필터의 개념을 알려주세요
  • 이미지 안드로이드 라이브러리를 무엇을 사용해보았나요?
  • 해당 라이브러리를 사용하는 이유는 무엇인가요?
  • RxJava 란 무엇인가요
  • 안드로이드에서 멀티스레드 구현을 위해 고려할 수 있는 것을 모두 적어주세요
  • 벡터 이미지 장점 및 사용 방법
  • onPause / onStop 의 차이점
  • 프래그먼트 생명주기를 액티비티와 비교해서 설명
  • 서비스에서 startService 와 bindService 를 사용하는데, bindService 를 쓰는 경우는 언제인가요?
  • Kotlin 의 특징에 대해서 알려주세요
  • Dalvik 과 Art 의 차이에 대해서 알려주세요
  • NDK 의 개념

2017-08-04

  • Weak Reference / Soft Reference / Strong Reference 자세히 설명 및 GC 과정
  • ListView 와 RecyclerView 차이점 및 ViewHolder 를 ListView 에서 구현할 경우 RecyclerView 와 성능차이가 있는지 여부
  • HTTP 통신 구현 경험

정리 및 검색을 통해 개념 파악 필요한 용어들

  • Junit, mockito, ATSL, stetho, leakcanary
  • Android 아키텍트 패턴 (MVP, MVVM, MVI)
  • RxJava, RxAndroid
  • TDD, Android UnitTest
  • 레트로핏, OKHttp, Glide, Dagger2
  • FCM, Firebase
  • mearsure&layout, style&theme, appcompat
  • bitmap 로딩 및 운용방법

forjavaandandroidinterview's People

Contributors

bearcola avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.