250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 빅 오 표기법
- mysql
- 연결 리스트
- 마크다운 테이블
- 클린코드
- 계산 검색 방식
- JsonNode
- @ComponentScan
- 코드
- query
- 클린
- 쿼리메소드
- WebClient
- code
- 인터페이스
- @NoArgsConstructor
- 정렬
- 리스트
- 배열
- 트리
- 마크다운
- 쿠키
- 선형 리스트
- 클래스
- @RequiredArgsConstructor
- 내부 정렬
- 자료구조
- 스택 큐 차이
- CleanCode
- java
Archives
- Today
- Total
Developer Cafe
웹개발자 기술면접 정리 6 본문
728x90
아파치는 멀티 프로세스인가 멀티 쓰레드인가?
아파치는 기본적으로 멀티 프로세스로 구현되어 있다. 하지만 설정에 따라 멀티 쓰레드를 같이 운용할 수 있다.
톰캣은 멀티 프로세스인가 멀티 쓰레드인가?
톰캣은 요청을 처리하기 위한 쓰레드 풀을 관리하고 있다. 그리고 요청이 오면 해당 쓰레드 풀에서 쓰레드를 꺼내 요청을 처리하도록 한다.
1. 디자인 패턴
- 생성 패턴
- 팩토리 패턴: 객체를 생성하기 위한 디자인 패턴
- 추상 팩토리 패턴: 객체를 생성하는 팩토리를 생성하기 위한 디자인 패턴
- 빌더 패턴: 상황에 따라 동적인 인자를 필요로 하는 객체를 생성하기 위한 디자인 패턴
- 싱글톤 패턴: 객체를 1개만 생성하여 항상 참조가능하도록 고안된 디자인 패턴
- 구조 패턴
- 어댑터 패턴: 호환성이 맞지 않는 두 클래스를 연결하여 사용하기 위한 디자인 패턴
- 프록시 패턴: 어떤 객체에 접근하기 위해 대리인을 사용하는 디자인 패턴
- 데코레이터 패턴
- 퍼사드 패턴: 어떤 복합적인 기능에 대해 간략화된 인터페이스를 제공하는 디자인 패턴
- 행위 패턴
- 전략 패턴: 상황에 따라 다른 전략을 사용하기 위한 디자인 패턴
- 옵저버 패턴: 값을 관찰하여 빠르게 반영하기 위한 디자인 패턴
- 커맨드 패턴: 실행될 기능을 캡슐화하여 재사용성이 높은 클래스를 설계하기 위한 디자인 패턴
2. 추상클래스와 인터페이스의 차이
- 추상클래스
- 단일 상속만이 가능하다.
- 모든 접근 제어자를 사용할 수 있다.
- 변수와 상수를 선언할 수 있다.
- 추상 메소드와 일반 메소드를 선언할 수 있다.
- 인터페이스
- 다중 구현이 가능하다.
- public 접근 제어자만 사용할 수 있다.
- 상수만 선언할 수 있다.
- 추상메소드만 선언할 수 있다.
3. Java의 List, Set, Map 차이
- List
- 데이터를 순차적으로 저장한다.
- 데이터의 중복을 허용한다.
- 데이터로 null을 허용한다.
- Set
- 순서없이 Key로만 데이터를 저장한다.
- Key의 중복을 허용하지 않는다.
- Key로 null을 허용하지 않는다.
- Map
- 순서없이 Key, Value로 데이터를 저장한다.
- Value는 중복을 허용하지만 Key의 중복을 허용하지 않는다.
- Key로 null을 허용하지 않는다.
4. Java의 Vector와 ArrayList 차이
- Vector
- 동기화를 지원한다.
- 속도가 느리지만 병렬 상황에서 안전하다.
- 크기가 증가하는 경우, 2배 증가함(10 -> 20)
- ArrayList
- 동기화를 지원하지 않는다.
- 속도는 빠르지만 병렬 상황에서 안전하지 않다.
- 크기가 증가하는 경우, 1.5배 증가함(10 -> 15)
5. Java의 StringBuffer와 StringBuilder 차이
- StringBuffer
- 동기화를 지원한다.
- 속도가 느리지만 병렬 상황에서 안전하다.
- StringBuilder
- 동기화를 지원하지 않는다.
- 속도는 빠르지만 병렬 상황에서 안전하지 않다.
6. 자바 동작 과정
- Java 소스 파일을 javac로 컴파일하여 class파일(Java 바이트 코드)을 생성함
- 클래스로더가 컴파일된 Java 바이트 코드를 런타임 데이터 영역(Runtime Data Areas)로 로드함
- 실행 엔진(Execution Engine)이 자바 바이트코드를 실행함
728x90
'기술면접' 카테고리의 다른 글
Filter, Interceptor, AOP 차이 및 정리 (0) | 2024.04.29 |
---|---|
웹개발자 기술면접 정리 5 (0) | 2021.03.29 |
웹개발자 기술면접 정리 4 (0) | 2021.03.18 |
웹개발자 기술면접 정리 3 (0) | 2021.03.18 |
웹개발자 기술면접 정리 2 (0) | 2021.03.18 |
Comments