1. 동시성과 병렬은 어떤 차이가 있나요?

동시성은 동시에 작업이 되는 것처럼 보이게 만드는 방법으로 알고 있고, 병렬은 실제로 동시에 작업이 처리되는 것으로 알고 있습니다.

2. 혹시 동기와 비동기, 블록킹과 논블럭킹의 차이에 대해서 설명해줄 수 있나요?

잘 모르겠습니다.

3. 이미지 저장을 서버에서 하고 계시네요! 파일 스트림을 쓰셨는데, 그러면 임시적으로 데이터를 받아놓는 버퍼는 왜 필요한가요?

파일 크기가 큰 경우에 분할해서 읽어들이는 경우에 사용하는 것으로 알고 있습니다. 동영상 재생에 주로 사용한다고 들었습니다.

4. 포폴로 사용하신 jpa에 적용된 커넥션 풀의 구조에 대해 간단히 설명해 주세요.

데이터베이스 연결에 들어가는 비용이 가장 크기 때문에 미리 스레드를 나눠서 준비해둔 객체로 사용자가 접근 가능하게끔 커넥션 풀링을 유지한다고만 이해하고 있습니다.

5. 방금 스레드라고 하셨는데, 멀티스레드는 멀티플렉싱에 비해 어떤 장점이 있나요?

잘 모르겠습니다.

6. 채팅을 구현하셨는데, 소켓의 개념에 대해 간단히 설명해 주실 수 있나요?

서버와 클라이언트간 양방향 통신을 위해 사용되는 객체 개념으로 이해하고 있고, 서버측에서 ip주소나 포트 번호같은걸 바인드해서 서로 송수신 한다고 이해하고 있습니다.

7. 소켓의 생명주기에 대해서도 설명해 주실 수 있나요?

잘 모르겠습니다

ㅡㅡㅡㅡㅡㅡ

첫 기술면접라 대충 기억나는거만 남겨봤는데 실제로는 답변하면서 엄청 더듬거리고 헤맸습니다

백프로 떨어진거같네요