Java
- 스레드 (Thread)
- 스레드는 하나의 작업 단위 , 하나의 프로세스 안에 여러 개의 스레드가 동시에 작업을 수행하는 것은 멀티스레딩이라고 한다
- JDBC
- 자바에서 DB 에 접속하기 위해 사용되는 API
- 객체지향
- 객체 지향 프로그래밍은 컴퓨터 프로그래 민 패러다임 중 하나로 , 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
- Error & Exception
- Error 는 컴파일 시 문법적인 오류와 런타임 시 널 포인트 참조와 같은 오류로 프로세스에 심각한 문제를 야기시켜 프로세스를 종료시킬 수 있습니다.
- Exception 은 컴퓨터 시스템의 동작 도중 예기치 않았던 이상 상태가 발생하여 수행 중인 프로그램이 영향을 받는 것을 말한다
- GC (Garbage Collection)
- Java Application에서 사용하지 않는 메모리를 자동으로 수거하는 기능
- Servlet
- Servlet 이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다
- Servlet 과 Jsp
- Servlet 은 java 안에 html 코드를 넣기 때문에 읽고 쓰기가 굉장히 불편하다
- jsp는 html안에 java 코드를 넣기 때문에 HTML 코드를 작성하기 간편하다
- Servlet 은 url 을 처리하기 위해 만들고 jsp는 화면을 처리하기 위해 만든다
- Stream
- 요청할 때만 요소를 계산한다. 내부 반복을 사용하므로, 추출 요소만 선언해주면 알아서 반복 처리를 진행한다.
- 스트림에 요소를 따로 추가 혹은 제거하는 작업은 불가능하다
- Collection
- 자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다.
- Collection의 구조
- Stream과 Collection의 차이점
데이터 계산 시점 | 반복 | 외부 , 내부 반복 | |
Collection | 모든 요소는 컬렉션에 추가하기전에 계산된다 | 단 한번만 반복문을 처리할수 있다 | foreach 문법을 사용하여 사용자가 반복문을 직접 명시해야 한다 |
Stream | 요청할때만 요소를 계산하는 고정된 자료구조 | 단 한번만 반복문을 처리할수 있다 | 단 한번만 반복문을 처리할수 있다 |
- 자바 디자인패턴
- 빌더(Builder) : 빌더 클래스는 인스턴스를 생성자를 통해 직접 생성하지 않고, 빌더라는 내부 클래스를 통해 간접적으로 생성하게 하는 패턴이다.
- 싱글톤(Singleton) : 클래스의 객체를 하나만 만들어야 하는 경우 사용한다.
- MVC
- MVC는 Model, View, Controller의 약자입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세 가지의 역할로 구분한 패턴입니다.
- Unchecked, Checked Exception 차이
- Unchecked Exception : 명시적인 예외 처리를 강제하지 않기 때문에 Uncheked Exception이라고 한다. 명시적인 예외 처리란 try ~ catch로 예외를 잡거나 throw로 호출한 메서드에게 예외를 던지지 않는 행위를 말한다.
- Checked Exception : 명시적인 예외 처리를 강제하기 때문에 Checked Exception이라 한다. 반드시 try ~ catch로 예외를 잡거나 throw로 호출한 메소드에게 예외를 던져야 한다.
- Generic
- 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미합니다.
- 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형 변환의 번거로움을 덜어준다
- Generic을 사용하면 좋은 점
- 클래스나 메서드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있습니다
- 반환 값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다.
- Generic을 쉽게 설명하면 내가 원하는 기능은 상속을 받고 타입은 원하는 데로 결정할 수 있는 유연한 방법
- Java에서 람다가 무엇인지
- 간단히 말해 메서드를 하나의 식으로 표현한 것
- 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다.
- 익명 함수
- 익명 함수란 말 그대로 함수의 이름이 없는 함수입니다. 익명 함수들은 공통으로 일급 객체(First Class citizen)라는 특징을 가지고 있습니다 이 일급 객체란 일반적으로 다를 객체들에 적용 가능한 연산을 모두 지원하는 개체를 가리킵니다. 함수를 값으로 사용할 수도 있으며 파라미터로 전달 및 변수에 대입하기와 같은 연산들이 가능합니다.
- Overloading, Overriding을 각각 설명해주세요
- 오버 로딩(Overloading) : 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다
- 오버 라이딩(Overriding) : 부모 클래스로부터 상속받은 메서드를 자식 클래스에서 재정의하는 것을 오버 라이딩이라고 한다.
'기술면접 준비해 보자' 카테고리의 다른 글
나쁜 공격 SQL인잭션은 무엇이고 어떻게 방어해야 하지? (0) | 2022.07.14 |
---|---|
Spring<지속적으로 업데이트 중> (0) | 2022.07.06 |