본문 바로가기
면접대비

웹 개발자 면접 질문 정리

by jjjhhhhh 2021. 9. 23.

실제 면접 당시 받았던 질문 위주로 정리 ( 추가 예정 ) 

 

1. LinkedList 와 ArrayList 에 대한 비교 

  • 검색 속도 : 인덱스 기반의 ArrayList가 속도가 더 빠르다 
  • 삽입, 삭제 속도 : LinkedList는 노드와 노드 참조 상태만 변경하기 때문에 더 빠르다. ArrayList의 경우 삽입, 삭제 후 추가적인 연산이 필요해 속도가 LinkedList에 비해 느리다 

2. 자바 8 특징 : 람다 표현식, 스트림 API , java.time 패키지 등.. 

 

3. 자바 11 특징 : String 메소드 추가 (strip) , 람다파라미터로 var 사용 등.. 

 

4. 아파치, 톰캣 차이 

  • 아파치 : 웹 서버 
  • 톰캣 : WAS (웹 어플리케이션 서버) 

5. Git에서 브랜치란 : 독립적으로 어떤 작업을 진행하기 위한 개념. 각각 브랜치는 다른 브랜치의 영향을 받지 않기 위해 여러 가지 작업 동시에 가능하다. 브랜치는 다른 브랜치와 병합 가능 

 

6. 오버라이딩 vs 오버로딩 

  • 오버라이딩 : 상위 클래스의 메소드를 하위 클래스에서 재정의
  • 오버로딩 : 같은 메소드 이름을 여러개 정의(매개변수의 타입이나 갯수가 달라야한다 ) 

7. JAVA 의 특징 

  • 운영체제에 독립적 : JVM에서 동작하기 때문에 , 특정 운영체제에 종속되지 않는다 
  • 객체지향 언어이다 
  • 자동으로 메모리를 관리해준다 : Garbage Collector 를 통해 자동으로 메모리 관리를 받는다. 

8. 객체지향 프로그래밍이란 ? 

  • 데이터를 객체로 취급하여 프로그램에 반영. 객체와 객체의 상호작용을 통해 프로그램이 동작 

9. MVC 패턴 : 하나의 프로젝트를 구성할때 구성요소를 Model, View , Controller 세가지 역할로 구분한 패턴 

  • Model : 사용자가 원하는 데이터나 정보 제공 
  • View : 사용자의 요청을 화면으로 출력 
  • Controller : 사용자의 요청을 처리, 요청에 따른 전체적인 흐름 제어 

10. MVC 1 ,2 차이 

  • MVC 1 : View, Controller 를 한 페이지에서 작업. jsp페이지에 java, html 등 코드가 섞여 복잡하지만 설계가 간단하고 개발속도가 빨라 작은 프로젝트에 적합 
  • MVC 2 : jsp는 뷰의 역할 , 컨트롤러 역할은 servlet 이 수행 (비즈니스 로직 수행) 

11. 스프링 프레임워크의 특징 

  • AOP : 관점지향 프로그래밍. 핵심 비즈니스 로직과 공통 모듈을 분리. 공통묘둘(로깅, 보안인증 등..)을 별도로 작성한 후 코드밖에서 비즈니스로직 사이에 삽입하는 것.
  • IOC : 제어 역전. 객체의 생성에서부터 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀐 것
  • DI : 의존성 주입. 객체를 직접 생성하는게 아니라 외부에서 생성한 주입시켜주는 방식