웹개발 기술 면접 준비 - 1
면접용으로 준비하고 있기 때문에 구어체로 작성하겠습니다.
- 객체지향이란?
데이터를 객체로 취급하여 프로그램에 반영한 것이라고 할 수 있습니다.
객체로 각각의 기능을 나누어 필요한 부분에 필요한 객체를 생성하여 사용할 수 있어 재사용성이 높고 유지 보수 하기 편하다고 할 수 있습니다. -
WebServer & WebApplicationServer(WAS) 역할
웹서버는 정적인 컨텐츠 html, css, js와 같은 것을 제공하는 서버입니다.
반면 WAS는 DB조회나 로직처리를 해야하는 동적인 컨텐츠를 제공하는 서버입니다. 즉, 웹 서버와 WAS의 차이는 어떤 타입의 데이터를 제공하는지에 따라 나뉠 수 있습니다. -
아우터조인과 이너조인의 정의와 차이점
아우터 조인은 일반적으로 조인하고자 하는 두 테이블의 합집합을 말하며
이너 조인은 교집합을 뜻합니다. 이너조인은 두 테이블의 공통되는 부분만을 반환하게 되고 아우터 조인은 두 테이블의 모든 컬럼을 출력하며 해당되는 컬럼의 값이 없는 경우에는 NULL을 출력합니다. 이너조인은 NULL을 출력하지 않습니다. -
스프링의 장점
정형화되어 있기 때문에 어떤 수준의 개발자가 개발을 진행하더라도 일정 수준 이상의 품질을 기대 할 수 있습니다.
관점 지향 프로그래밍으로써 비즈니스 메소드를 개발할 때 반복되는 공통로직을 분리 할 수 있습니다. 공통로직을 분리함으로써 응집도를 높이고 유지보수를 수월하게 할 수 있습니다. - 자바 인터페이스의 정의와 장점
추상메서드와 상수만을 가진 클래스로써 객체와 객체를 이어주는 역할을 하는 것이라고 할 수 있습니다.
인터페이스의 장점은 협업을 할 때 뛰어나게 작용한다고 생각합니다. - 인터페이스란 무엇인가?
인터페이스는 어떤 객체에 대한 명제로 이 객체가 어떤 메서드들을 제공하고 어던 역할을 하는지에 대한 일종의 설명서라고 할 수 있습니다. - 멀티쓰레드의 장단점은 무엇인가?
- DML에서 가장 어려운 부분은?
DML : SELECT, UPDATE, INSERT, DELETE
SELECT구문을 작성하는 것이 가장 어려웠던 것 같습니다. 특히 JOIN을 해서 데이터를 추출하는 경우가 해야하는 경우에 기준테이블을 어떻게 잡느냐에 따라 JOIN을 어떤 방식으로 처리해야하는지 어려운 부분들이 있었습니다. 또한 많은 데이터를 추출 할 경우에 효과적으로 데이터를 추출하는 것 까지 생각해야햇기 때문에 그 점에서 많은 공부기 필요하다 생각했습니다. 이 점을 보완하기 위해 현재 프로그래머스로 틈틈히 DML 구문 작성을 공부중입니다.
DDL : CREATE, ALTER, DROP, RENAME, TRUNCATE - 백엔드와 프론트엔드의 각각 정의는 무엇인가?
프론트엔드는 사용자가 마주보는 인터페이스를 개발하는 부분입니다 전. 반면 백엔드는 사용자 눈에 보이지 않는 서버, 프로그램의 기능들을 개발하는 부분입니다. 백엔드에서 프론트엔드에 존재하는 기능들을 처리하는 부분입니다.