기술 면접
-
기술 면접 - WEB기술 면접 2021. 4. 25. 02:31
1. Web Server, Web Application Server Web Server 클라이언트가 서버에 페이지 요청을 하면 요청을 받아 정적 컨텐츠(.html, .png, .css등)를 제공하는 서버 클라이언트에서 요청이 올 때 가장 앞에서 요청에 대한 처리를 한다. 클라이언트의 요청을 기다리고 요청에 대한 데이터를 만들어서 응답하는 역할 (정적 데이터) 정적 컨텐츠가 아닐 경우, WAS에게 전달한다 대표 : Apache, Nginx WAS 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버 (DB조회, 로직처리가 요구되는 컨텐츠) JSP,Servlet 구동 환경 제공 컨테이너, 웹컨테이너, 서블릿 컨테이너라고도 부름 * JSP, servlet을 실행시킬 수 있는 소프트웨어 = 컨테이너 동작 프로..
-
기술 면접 - SPRING기술 면접 2021. 4. 25. 02:31
1. Spring Framework 자바(JAVA) 엔터프라이즈 개발을 위한 "오픈소스(Open Source)" 애플리케이션 프레임워크(Framework) 특징 경걍 컨테이너로서 자바 객체를 직접 관리 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다 스프링은 POJO 방식의 프레임워크 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가벼움 IOC를 지원함 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있기 때문에 필요에따라 스프링에서 사용자의 코드를 호출함 DI를 지원함 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로를 연결시켜 준다 AOP를 지원한다 ..
-
기술 면접 - 손코딩기술 면접 2021. 4. 24. 01:43
1. 스택 구현 코드 링크 2. 큐 구현 코드 링크 3. 연결리스트 구현 코드 링크 4. 해시테이블 구현 코드 링크 5. 싱글턴 패턴 구현 스레드 세이프 싱글턴 패턴 class Singleton { private Singleton() {} public static Singleton getInstance() { return LazyHolder.INSTANCE; } private static class LazyHolder { private static final Singleton INSTANCE = new Singleton(); } } 6. 피보나치 public class Fibonacci { static int[] cache = new int[11]; public static void main(String..
-
기술 면접 - 알고리즘기술 면접 2021. 4. 24. 01:41
1. 정렬 Bubble Sort n개의 원소를 가진 배열을 정렬할 때, 인접한 두 개의 데이터를 비교해가면서 정렬을 진행하는 방식 가장 큰 값을 배열의 맨 끝에다 이동시키면서 정렬하고자 하는 원소의 개수만큼을 두 번 반복 public class BubbleSort { public static void main(String[] args) { int[] arr = {3, 5, 2, 4, 1}; // 인접한 원소 끼리 비교해서 큰 값을 뒤로 밀어낸다 // 한 번 반복할 때마다 끝에 수가 하나씩 확정됨 for(int i = 0; i arr[j + 1]) { swap..
-
기술 면접 - 네트워크기술 면접 2021. 4. 23. 00:11
1. 웹 동작 방식 브라우저 주소창에 http://www.test.com 입력 후 엔터를 눌렀을 때 부터 페이지가 렌더링되는 과정 local DNS 서버에게 www.test.com에 해당하는 ip주소가 있는지 물어본다. 있다면 바로 해당 ip로 받아온다. local DNS 서버에 없다면 루트 DNS 서버에 물어본다. 있다면 바로 해당 ip로 받아온다. 루트 DNS 서버에 없다면 .com 을 관리하는 DNS 서버에 물어본다. 있다면 바로 해당 ip를 받아온다. .com 을 관리하는 DNS 서버에 없다면, test.com을 관리하는 DNS 서버에 물어본다. 있다면 바로 해당 ip를 받아온다. 목적지의 ip를 알게되었으니 TCP 통신을 통해 소켓을 개방한다. HTTP 프로토콜로 요청한다. 만약 라우팅 중 프록..
-
기술 면접 - JAVA (고급)기술 면접 2021. 4. 23. 00:10
16. 제네릭 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능 객체의 타입을 컴파일 타임에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어듬 장점 타입 안정성 제공 타입 체크와 형변환을 생략 가능하므로 코드가 간결해진다 17. Functional Interface 하나의 추상 메소드를 가지고 있는 인터페이스 public interface FunctionalInterface { public abstract void doSomething(String text); } static 메서드나 default 메서드의 개수에는 제약이 없음 사용 이유 java에서 함수를 일급객체처럼 다룰 수 있게 하기 위함 람다식을 사용하게 만드는 배경 18. 람다 람..
-
기술 면접 - JAVA(Collection)기술 면접 2021. 4. 23. 00:09
15. Collection 컬렉션 프레임워크 (Collections Framework) 컬렉션 프레임워크란 데이터 군(컬렉션)을 저장하는 클래스들을 표준화한 설계를 뜻한다. 프레임워크는 표준화된 프로그래밍 방식을 의미한다. Java API 문서에서는 컬렉션 프레임워크를 데이터 군(group)을 다루고 표현하기 위한 단일화된 구조라고 정의한다. 자바의 컬렉션 프레임워크는 다수의 데이터를 다루는 데 필요한 다양하고 풍부한 클래스들을 제공한다. 컬렉션 프레임워크의 핵심 인터페이스 컬렉션 프레임워크에서는 각 컬렉션을 다루는 데 필요한 기능을 가진 3개의 인터페이스를 정의했다. 인터페이스 List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가로 정의했다. Collection ..
-
기술 면접 - JAVA (OOP)기술 면접 2021. 4. 23. 00:08
10. 오버로딩, 오버라이딩 오버로딩 매개변수의 타입과 개수를 변경하면서 같은 이름의 메소드를 여러 개 사용하는 기술 오버라이딩 상위 클래스가 가지고 있는 메소드를 하위 클래스에서 재정의하여 사용하는 기술 다형성을 만들어낸다 11. 인터페이스 vs 추상 클래스 추상 클래스 개념 추상 메서드를 가지고 있으며, abstract로 선언된 클래스 구현 하위 클래스에서 상위 클래스의 모든 추상 메서드를 오버라이딩하여 실행 가능한 코드로 구현 목적 인스턴스를 생성하기 위함이 아니고, 상속을 위한 상위 클래스로 활용함 (인스턴스 생성 불가) 여러 클래스의 공통된 부분을 추상화, 메서드의 동작을 하위 클래스에게 위임한다 인터페이스 개념 추상 메서드와 상수만을 포함하고, interface 키워드를 사용하여 선언 구현 인..