* 기술 면접의 개요
- 소프트웨어 개발자는 전문직이므로 기술면접(개발팀장급이 진행) + 임원면접이 일반적임
- 포트폴리오는 지원자의 실력을 증명할 객관적인 기준이 됨
- 포트폴리오에 대해 설계 기법, 사용한 기술들, 어느 정도 개발이 되었는지?, 팀프로젝트의 경우 직접 개발하고 담당한 부분은 어떤 부분인가에 대한 설명 준비, 본인이 개발했고 할 수 있는 부분만 정확히 설명하는 것이 좋음.
- 가끔 코딩 테스트하는 회사도 있음.(기본적인 알고리즘에 대한 준비 필요)
- 면접 전 홈페이지 등을 통하여 회사에 대한 정보를 미리 파악
- 면접 복장은 정장이 원칙
- 면접을 약속한 시간보다 조금 일찍 도착하여 회사 사무실도 간단히 둘러보고 면접대기실에서 기다리는 것이 좋음
- 희망 연봉에 대하여 정확히 본인의 의사를 밝히는 것이 좋음.
- 회사는 공부하는 곳이 아니라 일하는 곳이므로 입사하면 열심히 배우겠습니다라는 표현보다는 본인이 할 수 있는 것을 확신있게 말하고 부단히 노력하여 회사에 꼭 필요한 일군이 되겠습니다라는 식으로 표현하는 것이 좋음.
- 회사 업무 시간에 책을 펴놓고 일하는 것은 금물
1. JAVA
미국의 Sun MicroSystems에서 개발한 객체 지향 프로그래밍 언어
JAVA의 특징
- 자바가상머신(Java Virtual Machine)만 설치하면 컴퓨터의 운영체제에 상관없이 작동한다.(운영체제에 독립적)
- 기본 자료형을 제외한 모든 요소들이 객체로 표현
- 객체 지향 개념의 특징인 캡슐화, 상속, 다형성, 추상화가 잘 적용된 언어
- Garbage Collector를 통한 자동적인 메모리 관리(가비지 컬렉션)
- 멀티쓰레드(Multi-thread)를 지원
2. OOP(객체지향 프로그래밍)
Object-Oriented Programming의 약어로써 객체지향 프로그래밍을 의미
데이터를 객체로 취급하여 프로그램에 반영한 것이며, 순차적으로 프로그램이 동작하는 절차지향적인 프로그래밍과 다르게 객체와 객체의 상호작용을 통해 프로그램이 동작하는 것을 말한다.
OOP의 특징
- 객체지향 프로그래밍은 코드의 재사용성이 높다.
- 코드의 변경이 용이(유지보수가 쉬움)
- 직관적인 코드분석
- 개발속도 향상
- 상속을 통한 장점 극대화
3. Object
Object(객체)는 OOP에서 데이터(변수)와 그 데이터에 관련되는 동작(함수). 즉 절차, 방법, 기능을 모두 포함한 개념
예) 기차역에서 승차권을 발매하는 경우, 실체인 '손님'과 동작인 '승차권 주문'은 하나의 객체이며, 실체인 '역무원'과 동작인 '승차권 발매'도 하나의 객체이다.
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(Web Application Server)
- Server 단에서 Web Application이 동작할 수 있도록 지원함
- 웹 서버와의 차이점 : 웹서버는 정적인 컨텐츠를 지원, WAS는 동적인 컨텐츠를 지원
- Container(컨테이너)라고도 하며, 초창기에는 CGI(Common Gateway Interface)가 많이 사용되었으며 그 후에 ASP, PHP, Servlet, JSP, ASP.net 등으로 발전됨
- 서블릿/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 언어를 통해 데이터베이스에 접근할 수 있는 프로그래밍 기법을 의미
댓글 ( 5)
댓글 남기기