웹개발 기술 면접 준비 - 1

면접용으로 준비하고 있기 때문에 구어체로 작성하겠습니다.

  1. 객체지향이란?
    데이터를 객체로 취급하여 프로그램에 반영한 것이라고 할 수 있습니다.
    객체로 각각의 기능을 나누어 필요한 부분에 필요한 객체를 생성하여 사용할 수 있어 재사용성이 높고 유지 보수 하기 편하다고 할 수 있습니다.
  2. WebServer & WebApplicationServer(WAS) 역할
    웹서버는 정적인 컨텐츠 html, css, js와 같은 것을 제공하는 서버입니다.
    반면 WAS는 DB조회나 로직처리를 해야하는 동적인 컨텐츠를 제공하는 서버입니다. 즉, 웹 서버와 WAS의 차이는 어떤 타입의 데이터를 제공하는지에 따라 나뉠 수 있습니다.

  3. 아우터조인과 이너조인의 정의와 차이점
    아우터 조인은 일반적으로 조인하고자 하는 두 테이블의 합집합을 말하며
    이너 조인은 교집합을 뜻합니다. 이너조인은 두 테이블의 공통되는 부분만을 반환하게 되고 아우터 조인은 두 테이블의 모든 컬럼을 출력하며 해당되는 컬럼의 값이 없는 경우에는 NULL을 출력합니다. 이너조인은 NULL을 출력하지 않습니다.

  4. 스프링의 장점
    정형화되어 있기 때문에 어떤 수준의 개발자가 개발을 진행하더라도 일정 수준 이상의 품질을 기대 할 수 있습니다.
    관점 지향 프로그래밍으로써 비즈니스 메소드를 개발할 때 반복되는 공통로직을 분리 할 수 있습니다. 공통로직을 분리함으로써 응집도를 높이고 유지보수를 수월하게 할 수 있습니다.

  5. 자바 인터페이스의 정의와 장점
    추상메서드와 상수만을 가진 클래스로써 객체와 객체를 이어주는 역할을 하는 것이라고 할 수 있습니다.
    인터페이스의 장점은 협업을 할 때 뛰어나게 작용한다고 생각합니다.
  6. 인터페이스란 무엇인가?
    인터페이스는 어떤 객체에 대한 명제로 이 객체가 어떤 메서드들을 제공하고 어던 역할을 하는지에 대한 일종의 설명서라고 할 수 있습니다.
  7. 멀티쓰레드의 장단점은 무엇인가?
  8. DML에서 가장 어려운 부분은?
    DML : SELECT, UPDATE, INSERT, DELETE
    SELECT구문을 작성하는 것이 가장 어려웠던 것 같습니다. 특히 JOIN을 해서 데이터를 추출하는 경우가 해야하는 경우에 기준테이블을 어떻게 잡느냐에 따라 JOIN을 어떤 방식으로 처리해야하는지 어려운 부분들이 있었습니다. 또한 많은 데이터를 추출 할 경우에 효과적으로 데이터를 추출하는 것 까지 생각해야햇기 때문에 그 점에서 많은 공부기 필요하다 생각했습니다. 이 점을 보완하기 위해 현재 프로그래머스로 틈틈히 DML 구문 작성을 공부중입니다.
    DDL : CREATE, ALTER, DROP, RENAME, TRUNCATE
  9. 백엔드와 프론트엔드의 각각 정의는 무엇인가?
    프론트엔드는 사용자가 마주보는 인터페이스를 개발하는 부분입니다 전. 반면 백엔드는 사용자 눈에 보이지 않는 서버, 프로그램의 기능들을 개발하는 부분입니다. 백엔드에서 프론트엔드에 존재하는 기능들을 처리하는 부분입니다.