본문 바로가기

면접준비7

[MVC 패턴] MVC패턴과 5가지 규칙 MVC 패턴 : 유지보수 때문에 생긴 패턴 Model: 데이터와 관련된 부분 View: 사용자에게 보여지는 부분 Controller: model과 view를 이어주는 부분 ※ MVC패턴을 지키면서 코딩하기 위한 5가지 규칙 1. Model은 Controller와 View에 의존하지 않아야 한다. (Model 내부에 Controller와 View에 관련된 코드가 있으면 안된다.) 2. View는 Model에만 의존해야하고, Controller에는 의존하면 안된다. (View 내부에 Model 코드만 있을 수 있고, Controller의 코드가 있으면 안된다.) 3. View가 Model로부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다. 4. Controller는 .. 2023. 7. 24.
[면접후기] 웹 에이전시 면접 후기 질문 복기 1. 자기소개 2. 개발자란 무엇이라 생각하는가 3. 학원 수료 후 지금까지 뭐 했는지 (약 3개월) 4. 왜 IT 직종으로 돌리려 하는지 5. 연봉이 많이 깎이는데 괜찮은지 + 원하는 연봉 6. 5,10년 후의 모습 7. 왜 기업에서 나를 안 부르는거 같은지 8. 프로젝트 팀장은 자원을 한 것이닞 9. 프로젝트를 하면서 어려웠던 점 10. 살면서 가장 어려웠던 일 (+ 다른 사람이 하기 싫어하는 일을 대신 한 일) 11. 왜 우리 회사에 지원했는지? 12. 입사하면 가장 나이가 많은데 괜찮은지? 13. 입사 후 회사에서 무엇을 하고 싶은지 14. 스트레스 해결 방법 15. 친구 많은지 mbti 뭔지? 16. 미래의 인생목표는? 17. 부모님께서 반대하시진 않으셨는지 18. 개발자가 되기 위해.. 2023. 7. 22.
[기술면접 정리] 백엔드 1. WAS(Web Application Server) 와 WS(Web Server) 차이 WAS: 비즈니스 로직을 넣을 수 있음 -> Tomcat, PHP, ASP 등 => 동적 컨텐츠 제공 WS: 비즈니스 로직을 넣을 수 없음 -> Apache, Nginx => 정적 컨텐츠 2. 서블릿(Servlet)이란 동적 웹 페이지를 만들 때 요청과 응답의 흐름을 간단한 메소드 호출만으로 체계적으로 다룰 수 있게 해주는 자바 기반의 웹 프로그래밍 기술spring MVC의 Controller로 이용되며, 사용자의 요청을 받아 처리한 후 결과를 반환합니다. 3. Spring framework란 : 자바 개발을 편리하게 해주는 오픈소스 프레임워크 - 경량 컨테이너로서 자바 객체를 직접 관리 - 제어의 역전을 통해 어.. 2023. 7. 19.
[기술면접 정리] 운영체제 1. 프로세스와 쓰레드의 차이 프로세스 : 단순하게 실행중인 프로그램, 운영체제에 의해 메모리 공간을 할당받아 실행중인 것, 최소 1개의 메인 쓰레드를 가집니다. -> 두 개 이상의 스레드를 가지는 프로세스 : 멀티스레드 프로세스 쓰레드 : 프로세스 내에서 실제로 작업을 수행하는 주체입니다. 2. 동기와 비동기 차이 동기 : 순차적, 직렬적으로 업무를 수행 -> 여러개의 요청을 동시에 처리할 수 없다 비동기 : 병렬적으로 업무를 수행 -> 여러개의 요청을 동시에 처리할 수 있다 2023. 7. 19.
[기술면접 정리] 네트워크 1. HTTP 프로토콜이란? 데이터를 주고 받기 위한 프로토콜로 서버/클라이언트 모델을 따릅니다. 상태정보를 저장하지 않는 stateless 특징과 클라이언트 요청에 맞는 응답을 보낸 후 연결을 끊는 connectionless 특징을 가지고 있습니다. 장점 : 상태처리 및 상태정보를 관리 할 필요가 없어 서버 디자인이 간단하다 단점 : 이전 통신 정보를 모르므로 매번 인증해야 한다. -> 해결하기 위해 쿠키나 세션을 사용한다 cf. HTTPS : HTTP에 암호화가 추가된 프로토콜 /HTTP-TCP 직접통신 => HTTP-SSL-TCL 통신 2. 쿠키 vs 세션 쿠키 : 방문한 사이트가 사용하는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일 / 세션보다 빠르지만 보안 안좋음 세션 : 일정시간동.. 2023. 7. 19.
[기술면접 정리] 데이터베이스 1. 데이터베이스 언어 DDL(정의어) : DB 구조를 정의, 수정, 삭제하는 언어 (create, alter, drop) DML(조작어) : DB 내 자료의 검색, 삽입, 갱신, 삭제를 위한 언어 (select, create, update, delete) DCL(제어어) : 데이터의 무결성 유지, 병행 수행 제어, 보호와 관리를 위한 언어 (commit, rollback, grant, revoke) 2. select 쿼리 수행 순서 from, on, join -> where, group by, having -> select -> distinct -> order by -> limit (limit : limit에서 벗어나는 행은 제외하고 출력) 3. join에서 on과 where의 차이 : on 조건으로 .. 2023. 7. 19.
[기술면접 정리] 자바 1. Java의 특징 : 객체지향 프로그래밍 언어로 기본 자료형 외의 모든 요소들을 객체로 표현하며, 캡슐화, 상속, 다형성 특징이 잘 적용된 언어입니다. JVM 위에서 동작하기 때문에 운영체제에 독립적입니다. 2. 객체지향 프로그래밍이란 : 프로그램 구현에 필요한 데이터를 추상화시켜 상태, 행위를 가진 객체를 생성하고 역할을 정의하여 객체간의 상호작용을 통해 프로그램을 만드는 것 1) 추상화 : 인터페이스와 구현을 분리하고 실행시 상위 클래스 타입으로 사용하므로써 구현객체에 의존하지 않고 추상객체인 인터페이스에 의존하게 하여 구현코드를 숨기는 것 2) 캡슐화 : 필드와 메소드를 하나로 묶고, 객체 세부내용이 외부로 드러나지 않게하여 외부에서 데이터에 직접 접근 하는 것을 방지하여 데이터 보호를 하는 것.. 2023. 7. 19.