on
신입 웹 개발자 자주 묻는 기술 면접 질문 10개
신입 웹 개발자 자주 묻는 기술 면접 질문 10개
1. 스프링의 MVC 패턴을 설명하세요
MVC 패턴이란 개발을 모델, 뷰, 컨트롤러로 나누어 진행하는 방법을 의미합니다. 비즈니스 로직과 화면을 구현하는 작업을 분리해 코드의 가독성을 높이고 수정 및 유지 보수에 유리하도록 만들기 위해 사용됩니다. 스프링 MVC에서 모든 클라이언트의 요청은 Dispatcher Servlet이 받아 처리합니다. 이때 요청에 맞는 컨트롤러를 찾아가고 컨트롤러는 모델이 비즈니스 로직을 처리하도록 메서드를 호출합니다. 그렇게 비즈니스 로직이 처리되고 나온 결과 데이터는 다시 컨트롤러와 Dispatcher Servlet를 거쳐 뷰로 전달됩니다. 이때 뷰는 전달받은 데이터로 화면을 만들어 최종적으로 사용자에게 보여줍니다.
2. 오버로딩과 오버라이딩의 차이와 각각을 쓰는 이유는 무엇인가요
오버로딩은 클래스 내에서 이름이 같은 메서드를 파라미터를 다르게 받아 중복 선언하는 것을 말합니다. 코드의 가독성이 좋아지고 같은 이름의 메서드를 매개변수만 다르게 호출할 수 있는 편리함을 얻을 수 있습니다.
오버라이딩은 클래스가 상속관계에 있을 때 자식 클래스가 부모 클래스가 가진 메서드를 가져와 구현부를 필요에 맞게 변형해서 사용하는 것을 의미합니다. 객체지향 언어의 특징인 다형성의 장점을 살릴 수 있는 방법입니다. 하나의 메서드로 여러 클래스에서 오버라이딩해 기능에 변형을 주는 방식으로 구현할 수 있게 됩니다.
3. 메이븐을 설명하세요
메이븐의 핵심은 pom.xml을 이용한 편리한 라이브러리 사용입니다. 프로젝트를 진행하다보면 외부 라이브러리를 사용하는 경우가 많습니다. 이때 메이븐이 없다면 일일이 프로젝트에 라이브러리 파일을 넣어줘야 합니다. 특히 많은 라이브러리가 문제없이 작동되기 위해 의존하고 있는 라이브러리를 가지고 있습니다. 때문에 의존하고 있는 라이브러리까지 찾아서 넣어줘야 합니다. 반면 메이븐이 제공하는 pom.xml를 이용하면 메이븐 레포지토리에서 원하는 라이브러리의 코드를 찾아 복사해 넣어주는 것만으로도 사용 라이브러리와 의존 라이브러리까지 일괄 다운받아 프로젝트에 넣어주게 됩니다.
4. 서블릿이 무엇이라고 생각하시나요
웹 애플리케이션에서 클라이언트의 요청을 처리하고 그 결과를 반환하는 자바의 기술입니다. 서블릿 클래스는 HttpServlet을 상속받으며 요청을 받았을 때 HttpServletRequest, HttpServletResponse 객체를 생성합니다. 요청 방식에 따라 서블릿 클래스에 선언된 doGet() or doPost() 메서드가 실행됩니다.
5. 자바의 객체 지향에 대해 설명하세요
로직을 상태나 행위로 이루어진 객체로 만들어 각각 구현하고 필요시에 원하는 클래스의 객체를 생성해서 사용하는 방식의 프로그래밍을 의미합니다. 마치 부품을 조립하는 것처럼 프로그램을 만드는 것이라고 볼 수 있습니다. 객체 지향으로 프로그래밍을 하게되면 코드의 재사용성을 높일 수 있고 유지 보수에 유리해지는 장점이 있습니다.
6. Ajax란 무엇인가요
자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기술을 말합니다. Ajax를 이용하면 웹 페이지를 전체 새로고침 하지 않고 일부분만을 바꿀 수 있습니다. 때문에 페이지를 동적으로 구현할 때 이 기술이 사용됩니다. 또 오픈 API와 통신해서 기능이나 데이터를 사용할 수도 있습니다.
7. SQL에 대해 설명하세요
관계형 데이터베이스를 다루기 위해 사용되는 언어입니다. INSERT, SELECT, UPDATE, DELETE 등의 명령어로 데이터를 생성, 조회, 수정, 삭제할 수 있습니다.
8. 기본키와 외래키를 설명하세요
기본키란 값이 유일해야하는 컬럼을 의미합니다. 하나의 테이블에서 데이터를 식별하고 중복 데이터가 삽입되는 것을 방지하기 위해 사용됩니다. 외래키는 서로 다른 두 테이블을 연결할 때 사용하는 키를 말합니다. 분류에 따라 테이블을 나누고 테이블을 외래키를 이용해 조인해서 사용하는 방법으로 데이터 삽입의 효율성을 높일 수 있습니다.
9. 제약조건은 어떤 것들이 있는지 설명해보세요
제약 조건이란, 데이터의 무결성을 지키기 위해 제한된 조건을 말합니다. 그 종류로는 PK, FK, NOT NULL, UNIQUE, CHECK, DEFAULT 등이 있습니다.
10. 트랜잭션이 무엇인가요
데이터를 처리하는 논리적인 작업 단위를 말합니다. 트랜잭션으로 묶인 작업은 여러 작업들 중 단 하나의 작업이라도 실패하면 전체가 실패되는 특성을 갖습니다. 이런 특성을 이용해서 특정 기능이 수행됐을 때 반드시 다른 기능도 수행되어야하는 경우 등을 대비할 수 있습니다.
from http://change-words.tistory.com/158 by ccl(A) rewrite - 2021-09-30 02:01:32