White Whale Studio

기술면접 질문&답변 - 1 본문

IT Engineering/기술면접

기술면접 질문&답변 - 1

glorymind 2020. 4. 8. 10:12
반응형

1. 클라이언트부터 서버까지의 데이터 흐름을 아는데로 설명하세요.
2. 게시판 페이지 처리를 위한 쿼리를 설명하세요.
3. 추상클래스와 인터페이스의 차이점

   - 추상클래스 : abstract 를 붙여서 new로 새로운 인스턴스를 생성하지 못하도록 하는 클래스

     예를들어 조류를 설명하는 클래스인 경우 하위세부객체인 비둘기나 펭귄같은 경우는 상세하게 객체가 생성되고 메서드가 추가가 되지만 분류상으로 존재하는 조류라는 개념은 인스턴스가 생성되면 안되기 때문에 추상적인 개념으로 

조류가 갖춰야할 날개, 난생(알로 태어난다), 부리 등등의 공통 요소에 대한 부분만 명시하는 것이다.

     이러한 조류 요건에 맞춰서 세부적인 내용으로 구성된 비둘기는 구상클래스(Concrete Class)라고 한다.

     단 하나의  Class만 상속받을 수 있다.

   - 인터페이스 : 인터페이스 또한 100% 추상클래스이나 키워드로 interface를 사용하고 다수의 Class로부터 상속을 받을수있다는 장점이 있다. 
4. HTTP method를 아는데로 설명하세요.

GET 메서드는 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다.
HEAD 메서드는 GET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.
POST 메서드는 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.
PUT 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.
DELETE 메서드는 특정 리소스를 삭제합니다.
CONNECT 메서드는 목적 리소스로 식별되는 서버로의 터널을 맺습니다.
OPTIONS 메서드는 목적 리소스의 통신을 설정하는 데 쓰입니다.
TRACE 메서드는 목적 리소스의 경로를 따라 메시지 loop-back 테스트를 합니다.
PATCH 메서드는 리소스의 부분만을 수정하는 데 쓰입니다.


5. 네트워크 계층에 대해 설명이 가능한가요?

 - 7계층으로 분류 : 

   1 : 물리계층(Physical Layer)

   2 : 데이터 링크 (DataLink Layer)

   3 : 네트워크 (Network Layer)

   4 : 전송 (Transport Layer)

   5 : 세션 (Session Layer)

   6 : 표현 (Presentation Layer)

   7 : 응용 (Application Layer)
6. DB 정규화는 몇 정규화까지 있으며, 각 정규화 과정을 설명하세요.

  - 1NF(Normal Form), 2NF, 3NF, BCNF, 4NF, 5NF 로 구성

    1NF : 각 열의 데이터가 하나의 값만 가지고 있는 경우, 기존 테이블은 고유식별번호인 PK 기준으로 변경되어야함

    예를 들어 다음과 같은 테이블이 있는 경우 김길동의 경우 1단계에 부합하지 않는다. 하나의 열에 2개의 데이터가 있기 때문에 사용자 구분을 위한 USER_ID를 기준으로 하여 2개로 분류하여야한다.   

USER_ID NAME Value
2001 김길동 사과, 오렌지
2002 홍길동 수박
2003 박길수 오렌지

변경 후 데이터 : 사과, 오렌지를 2개의 Row로 나누었다.

USER_ID NAME Value
2001 김길동 사과
2001 김길동 오렌지

 

 

7. 오버라이딩과 오버로딩

  - 오버라이딩 :  상위클래스에서 상속받은 메서드를 하위클래스에서 재정의하는 기능

  - 오버로딩 : 같은이름의 메서드나 생성자를 인자(Parameter) 목록으로 구별하여 호출하는 기능

     인자목록이 다르면 리턴유형이 달라도 되지만 리턴유형만 바꿀수는 없다.

     접근단계로 마음대로 변경 가능하다.

반응형
Comments