본문 바로가기
일지/1차 프로젝트

1차 프로젝트 시연회

by 알케니브 2024. 10. 17.

선생님이 하신 면접 대비 질문

Tip 1. ajax의 경우 컨트롤러~xml까지의 흐름이 어떻게 되는지 1분 스피치로 설명할 수 있어야함

Tip 2. 파일 업로드 처리프로세스에 대해 설명하기

Tip 3. ppt 작성시에는 코드를 전체 기술하는 것보다, 주제를 설명하고 그 밑에 간략하게 코드를 기술하는 것이 더 좋다

Tip 4. ERD관계와 계층 구조를 이해할 수 있어야한다

Tip 5. ppt에 넣은 코딩 위주로 질문할 것이다

 

⭐1. 개발환경에 MyBatis를 사용했는데 ORM이 무엇인가?

답변 (0805 일지 참고하기)

 

Object(객체)를 RDB형식으로 Mapping함, 즉 객체 지향 프로그래밍과 관계형 데이터베이스의 데이터를 매핑하는 기술
Partial Mapping(⭐꼭 언급하기) 방식을 사용

 

⭐2. 메일 시스템에 SMTP를 사용했다고 하는데, SMTP가 무엇인가?

답변 (0813 페이징과 리스트 작업 때 한 수업 참고)

  • Simple Mail Transfer Protocol
  • 인터넷을 통해 이메일 메시지를 보내고 받는 데 사용되는 통신 표준 프로토콜
  • 이메일을 송수신하는 서버를 SMTP 서버라고 함
  • 중계전달자 역할을 함으로써 메일 서버 간의 송수신 뿐만 아니라 메일 클라이언트에서 서버로 보낼 때 사용되는 프로토콜
  • 인터넷에서 이메일을 교환할 때 그 과정을 정렬해줌

⭐3. 암호화를 사용하셨는데 암호화의 종류는? 사용한 암호화에 대한 설명도 해보아라

답변

암호화에는 공개키, 비공개키, HashMap방식이 있는데 이 프로젝트는 HashMap 방식을 사용했다.

사용한 HashMap 암호화 방식은 원본 데이터를 고정된 길이의 다른 데이터로 변환하는 방식이다.
HashMap 암호화 방식의 특징 첫번째는 단방향으로, 일단 데이터가 Hash 암호화되면 원본 데이터로 복호화할 수 없다.

두 번째 특징은 고정된 길이를 가진다는 것인데, 원본 데이터의 길이와 상관없이 Hash 암호화된 데이터의 길이는 항상 고정된다.

마지막 특징은 유일성으로, 같은 원본 데이터는 항상 같은 Hash 암호화된 데이터를 생성하지만, 아주 미세한 차이라도 완전히 다른 Hash 암호화된 데이터를 생성한다.

 

 

⭐4. 암호화의 나머지 두 종류에 대해서도 말해보아라

답변

공개키는 

 

비공개키는

 

 

5. 자동완성 로직의 ajax 에서 첫줄이 무슨 뜻인가?

var searchType = $("input[name='searchType']:checked").val();

답변: input한 serchType, 예를 들면 국내, 해외, 친환경을 입력했을때 checked를 하는 로직

 

 

나의 예상질문

1. 파일 첨부 로직의 흐름

유저가 입력한 정보를 insert한 뒤 첨부파일 유무에 따라 로직이 처리되도록 했다.
realPath, inputStream, outputStream을 이용하여 파일 저장 경로, 새로 저장할 파일명, 기존의 확장자를 사용할 수 있도록 설정한 뒤, insert된 정보에 객체로 update 방식으로 처리할 수 있도록 xml을 작성했다

 

2. realPath, inputStream, outputStream에 대한 설명

 

  • realPath: 서버에서 파일을 저장하거나 읽을 때, 실제 파일이 저장된 경로를 찾기 위해 사용됩니다. 웹 애플리케이션에서 업로드된 파일을 처리할 때, realPath 메소드를 통해 서버의 특정 디렉토리에 파일을 저장하는 경로를 얻습니다. 예를 들어, realPath("/uploads")는 서버의 uploads 폴더 경로를 반환합니다.
  • inputStream: 업로드된 파일을 읽기 위해 사용하는 입력 스트림입니다. 사용자는 업로드한 파일의 데이터를 서버로 전송하고, 서버는 inputStream을 통해 이 데이터를 읽습니다. 파일을 읽어오는 역할을 담당하며, 이를 통해 파일 내용에 접근할 수 있습니다.
  • outputStream: 서버에서 읽은 파일 데이터를 특정 위치에 저장하거나 클라이언트로 다시 전송하기 위해 사용하는 출력 스트림입니다. 파일을 저장하거나 전송할 때 outputStream을 사용하여 데이터를 목적지에 씁니다.

 

'일지 > 1차 프로젝트' 카테고리의 다른 글

플젝 제대로 시작하기 앞서 정리한 일지  (0) 2024.10.15