기술 면접 예상 질문 - 1
기술 면접 2020. 11. 10. 18:52기술 면접 예상 질문
추가준비
1. 추가로 자신이 제작한 포트폴리오에 들어간 기술들과 팀프로젝트의 경우에는 어떤 부분을 자신이 개발하였는지에 대한 부분을
한번 더 체크하고, 관련된 질문을 받았을 때 대답할 수 있도록 하여야 한다.
2. 알고리즘에 대한 준비도 필요.
1. JAVA
미국의 Sun MicroSystems에서 개발한 객체 지향 프로그래밍 언어
JAVA의 특징
- 자바가상머신 (Java Virtual Machine)만 설치하면 컴퓨터의 운영체제에 상관없이 작동한다. (운영체제에 독립적)
- 기본 자료형을 제외한 모든 요소들이 객체로 표현됨
※ 기본자료형 ※
char |
문자형 |
2byte |
byte |
정수형 |
1byte |
short |
정수형 |
2byte |
int |
정수형 |
4byte |
long |
정수형 |
8byte |
float |
실수형 |
4byte |
double |
실수형 |
8byte |
boolean |
논리형 |
true / false |
- 객체 지향 개념의 특징인 캡슐화, 상속, 다형석, 추상화가 잘 적용된 언어
- Garbage Collector를 통한 자동적인 메모리 관리 (가비지 컬렉션)
- 멀티쓰레드 (Multi - thread)를 지원
2. OOP (객체지향 프로그래밍)
Object - Oriented Programming의 약어로써 객체지향 프로그래밍을 의미
데이터를 객체로 취급하여 프로그램에 반영한 것이며, 순차적으로 프로그램이 동작하는 절차지향적인 프로그래밍과 다르게
객체와 객체의 상호작용을 통해 프로그램이 동작하는 것을 말한다.
OOP의 특징
- 객체지향 프로그래밍은 코드의 재사용성이 높다.
- 코드의 변경이 용이 (유지보수가 쉬움)
- 직관적인 코드분석
- 개발속도 향상
- 상속을 통한 장점 극대화
3. Object
Object (객체) 는 OOP에서 데이터 (변수) 와 그 데이터에 관련되는 동작 (함수) 즉 절차, 방법, 기능을 모두 포함한 개념
(모든 자료형의 조상)
EX) 기차역에서 승차권을 발매하는 경우, 실체인 '손님' 과 동작인 '승차권 주문' 은 하나의 객체이며, 실체인 '역무원' 과
동작인 '승차권 발매' 도 하나의 객체이다.
4. Overloading vs Overriding
Overloading (오버로딩) -> 상속과 관련이 없다.
- 한 클래스에서 같은 이름의 method를 여러개 정의하는 것 (method 중복)
- 매개변수의 타입이 다르거나 개수가 달라야 한다.
- 매개변수 순서가 달라야 한다.
- return type와 접근 제어자는 영향을 주지 않음.
Overriding (오버라이딩)
- 상속에서 나온 개념
- 상위클래스 (부모 클래스)의 method를 하위 클래스 (자식 클래스) 에서 상속받은 상태에서 본문 내용만 수정하는 것 (method 재정의)
5. Servlet, JSP
Web Server
- Web Client (웹 브라우저) 에게 컨텐츠를 제공하는 서버
- 정적인 HTML이나 jpeg, gif 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에게 전송하는 역할
- 웹 서버의 종류 : apache, IIS(Internet Information Services)
WAS (Wab Application Server)
- Server 단에서 Web Application이 동작할 수 있도록 지원함
- 웹 서버와의 차이점 : 웹 서버는 정적인 컨텐츠를 지원, WAS는 동적인 컨텐츠를 지원
- Container (컨테이너) 라고도 하며, 초창기에는 CGI (Common Gateway Interface) 가 많이 사용되었고, JSP, PHP 등으로 발전됨
- 서블릿 / jsp에 포함된 자바코드를 컴파일하여 html을 생성하여 클라이언트로 전송함
- WAS의 종류 : tomcat, jeus, WebLogic, IBM Websphere, JBOSS 등
- Servlet : 서버에서 실행되는 자바 프로그램, Servlet Container이 이해할 수 있게 구성된 순수 자바 코드로만 이루어진 것 (HTML in JAVA)
- JSP (Java Server Pages) : HTML을 기반으로 JAVA 코드를 블록화하여 삽입한 것 (JAVA in HTML)
6. JDBC (Java Data Base Connection)
JAVA 언어를 통해 데이터베이스에 접근할 수 있는 프로그래밍 기법을 의미
7. Get와 Post 방식
Get 방식
- 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 "이름" 과 "값" (jsp? 이름=값) 이 결합된 스트링 형태로 전달
- 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안성이 떨어진다.
- 길이에 제한이 있다. (구버전의 웹브라우저의 경우 256바이트로 제한, 최근에는 제한이 없으나 주소창으로 대량의 데이터를 보내는 것은 적합하지 않음)
- Post 방식보다 상대적으로 전송 속도가 빠르다.
Post 방식
- 대량의 데이터를 보내야 할 때 사용한다.
- 서버로 보내기 전에 인코딩하고, 전송 후 서버에서는 다시 디코딩 작업을 한다. (단점 : 한글이 잘 깨질수 있음)
- 주소창에 전송하는 데이터의 정보가 노출되지 않아 Get 방식에 비해 보안성이 높다.
- 속도가 Get 방식보다 느리다.
- 쿼리스트링 (문자열) 데이터 뿐만 아니라, 라디오 버튼, 텍스트 박스, 첨부파일의 값도 전송 가능하다.
Get와 Post 방식의 차이점
Get 방식 |
Post 방식 |
- Get는 주로 웹 브라우저가 웹 서버에 데이터를 요청할 때 사용 - Get를 사용하면 웹 브라우저에서 웹 서버로 전달되는 데이터가 인코딩 되어 URL에 붙는다. - Get방식은 전달되는 데이터가 255개의 문자를 초과하면 문제가 발생할 수 있다. (구버전의 웹브라우저의 경우) |
- Post는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용 - Post방식은 전달되는 데이터가 보이지 않는다. - 웹 서버에 많은 데이터를 전달하기 위해서는 Post 방식을 사용하는 것이 바람직하다. (파일첨부의 경우는 반드시 post 방식을 사용해야 함) |
출처
https://www.youtube.com/watch?v=0L2uPmXXZeU&list=PLY9pe3iUjRrS38DxC5Fq5st9_hQhvyy3H&index=6
'기술 면접' 카테고리의 다른 글
경력직 기술 면접 예상 질문 - 1 (0) | 2024.10.29 |
---|---|
기술 면접 예상 질문 - 3 (0) | 2020.11.10 |
기술 면접 예상 질문 - 2 (0) | 2020.11.10 |