기술 면접 예상 질문 - 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
: