1. 프로세스와 스레드의 차이
- Process :부모프로세스(parent process)라는 상위계층과 자식프로세스(child process)라는 하위계층이 존재한다. 부모프로세스는 프로그램이나 명령어에 의해 시작되며, 자식프로세스는 부모프로세스에 의해 만들어지는 것을 말한다. 하나의 부모프로세스는 여러 개의 자식프로세스를 관리하는데, 여러 개의 자식프로세스가 하나의 CPU에서 동시에 처리되는 것처럼 보이는 것을 멀티태스킹(multitasking)이라고 한다.
[네이버 지식백과] 프로세스 [process] (두산백과)
멀티태스크의 환경에서의 각 프로세스는 서로 독립한 작업이나 자원을 가지고 있다. 그 프로세스가 어느 정해진 룰 하에서 프로세스 간의 정보를 주고 받는 것을 프로세스간 통신이라 한다. 그 기능으로서는 파이프, 큐, 세마포르(semaphor), 시그널, 공유 메모리를 들 수 있다.
[네이버 지식백과] 프로세스간 통신 [integrated process communication, -間通信] (전자용어사전, 1995. 3. 1., 성안당)
- Thread
①컴퓨터 프로그램 수행 시 프로세스 내부에 존재하는 수행 경로, 즉 일련의 실행 코드. 프로세스는 단순한 껍데기일 뿐, 실제 작업은 스레드가 담당한다. 프로세스 생성 시 하나의 주 스레드가 생성되어 대부분의 작업을 처리하고 주 스레드가 종료되면 프로세스도 종료된다. 하나의 운영 체계에서 여러 개의 프로세스가 동시에 실행되는 환경이 멀티태스킹이고, 하나의 프로세스 내에서 다수의 스레드가 동시에 수행되는 것이 멀티스레딩이다. ②나무 데이터 구조(tree data structure)에서 상위 노드의 식별과 나무 내의 정보 탐색을 촉진하는 포인터. ③게시판이나 토론의 장에서 최초 메시지에 대한 댓글들의 연속. 스레드는 수없이 많은 각각의 토론들을 관련 있는 것끼리 찾아서 읽거나 참여하는 데 도움이 된다.
[네이버 지식백과] 스레드 [thread] (IT용어사전, 한국정보통신기술협회)
2. REST란..?
REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다. 이 용어는 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개되었다. 필딩은 HTTP의 주요 저자 중 한 사람이다. 이 개념은 네트워킹 문화에 널리 퍼졌다.
엄격한 의미로 REST는 네트워크 아키텍처 원리의 모음이다. 여기서 '네트워크 아키텍처 원리'란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 일컫는다. 간단한 의미로는, 웹 상의 자료를 HTTP위에서 SOAP이나 쿠키를 통한 세션 트랙킹 같은 별도의 전송 계층 없이 전송하기 위한 아주 간단한 인터페이스를 말한다. 이 두 가지의 의미는 겹치는 부분과 충돌되는 부분이 있다. 필딩의 REST 아키텍처 형식을 따르면 HTTP나 WWW이 아닌 아주 커다란 소프트웨어 시스템을 설계하는 것도 가능하다. 또한, 리모트 프로시저 콜 대신에 간단한 XML과 HTTP 인터페이스를 이용해 설계하는 것도 가능하다.
엄격한 의미로 REST는 네트워크 아키텍처 원리의 모음이다. 여기서 '네트워크 아키텍처 원리'란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 일컫는다. 간단한 의미로는, 웹 상의 자료를 HTTP위에서 SOAP이나 쿠키를 통한 세션 트랙킹 같은 별도의 전송 계층 없이 전송하기 위한 아주 간단한 인터페이스를 말한다. 이 두 가지의 의미는 겹치는 부분과 충돌되는 부분이 있다. 필딩의 REST 아키텍처 형식을 따르면 HTTP나 WWW이 아닌 아주 커다란 소프트웨어 시스템을 설계하는 것도 가능하다. 또한, 리모트 프로시저 콜 대신에 간단한 XML과 HTTP 인터페이스를 이용해 설계하는 것도 가능하다.
3. HashMap과, TreeMap, LinkedHashMap의 차이.
1. 성능 Hashmap
2. 정렬 Treemap
3. 입력순서, 랜덤접근성능떨어짐. : LinkedHashMap
4. Overloading, Overriding
- Overriding 재정의
- Overloading : 함수 인자 다형성
5. Singletone Pattern?
- 싱글톤 패턴이 Thread Safe 되려면? getInstance() 부분에 synchronized를 사용한다.
6. Gabage Collection ?
- 힙메모리 영역에서 참조하는 Object가 없는 경우(null) 찾아냄.
- 리소스를 회수.
7. 동기, 비동기 장단점?
8. JVM 구조
- Method(Static) Area
- Stack Area
- Heap Area
9. 정렬, 재귀 알고리즘의 시간 복잡도
10. 검색(Search) 알고리즘 종류는?
- Linear search : 처음부터 하나씩.
- Binary search : 가운데값
- hash Search - 키, 값.
11. 소팅(Sorting) 알고리즘 종류는?
- Bubble Sorting - O( n^2 ) 순서를 맞바꿈.
- Select Sorting - 가장 큰 값부터 리스트의 끝으로 옮겨서 뒤에서 부터 앞으로 정렬
- Insert Sorting - O(n^2) 크기를 살펴서 순서에 맞게 삽입하여 정렬.
- Shell Sorting - O(nlogn)
- Quick Sorting - 표준, O(n^2) ~ O(n )
- Merge Sorting - O(nlogn)
- Heap Sorting - O(n logn)
- Radix Sort(기수) - O(n)
- 소팅알고리즘을 구현할 수 있는가??
12. GCM 구현?
google Cloud Message. gymfirebase Cloude Message fcm
13. ANR (Android Not Response) 이란?
- 5초이내 입력 이벤트에 대한 응답이 없음
- BroadcastReceiver가 10초이내에 실행을 완료하지 못함.
어플리케이션이 일정한 시간내에 응답이 없는 경우 Dialog로 표시함.
앱이 잠재적으로 오랜 시간동안 작업을 수행하는 상황에서는 UI스레드에서 작업을 수행하지 말고 대신 작업자 스레드를 만들고, 거기에서 대부분의 작업을 수행해야 함.
AsyncTask 클래스를 사용해서 작업자 스레드를 만들도록 한다.
14. Android 생명 주기?
onCreate()onStart()
onResume()
onPause()
onStop()
onDestory()
15. Fragment 생명주기
onAttach()
onCreateView()
onDestroyView()
onDetach()

16. Lamda ?
"->"
Runnable r = () -> { System.out.println("hello"); };
Collections.sort(strings, (String a, String b) -> -(a.compareTo(b)));
http://cr.openjdk.java.net/~briangoetz/lambda/lambda-translation.html17. Message Handler 동작 설명 Looper 와 연관지어서.?
A Handler allows you to send and process
Message
and Runnable objects associated with a thread's MessageQueue
. Each Handler instance is associated with a single thread and that thread's message queue. When you create a new Handler, it is bound to the thread / message queue of the thread that is creating it -- from that point on, it will deliver messages and runnables to that message queue and execute them as they come out of the message queue.18. Class , Object 차이에 대해 설명?
100. Coding Test
- pivotal 3x3, 4x4 뒤집는 로직?
- 10칸짜리 배열로 스레드 세이프한 queue 만들기
- 피보나치 수열 구현
- cat을 구현하기
- 날짜 변환하기.
- cat을 구현하기
- 날짜 변환하기.
댓글 없음:
댓글 쓰기