UMC는 협업 프로젝트 경험이 없는 나에게 적합한 동아리였다.
기초 지식으로 자바만을 요구했고 프로젝트 경험이 없는 사람도 지원가능한 동아리였다.
다른 파트에 비해 내가 지원한 스프링 파트의 지원자가 역시나 터졌던 것 같다.
UMC 면접 후기
함께 지원한 친구들은 면접관들께서 웃으면서 들어주셨다고 했는데, 나는 마지막 타임이었어서 그런지 면접 분위기가 좋다는 느낌을 받진 못하였다. 추가 모집 이후라 두 명씩 진행하던 면접을 세 명이서 진행하게 되었는데, 상대적으로 확실히 시간이 부족한 것이 느껴졌다.
면접 질문
공통 질문, 자소서 기반 질문, 파트 질문 이 세 순서로 나누어 질문해주셨다.
공통 질문
1. 자기소개
-준비한 자기소개
2. UMC에 얼마나 많은 시간 투자가 가능한지
휴학 중, 알바와 동아리 모두 하지 않음. 나의 시간 100% 투자 가능
자소서 기반 질문
1. 강의 들으면서 CRUD 구현 경험 있다고 써주셨는데, 어떤 식으로 공부하셨는지?
자바부터 API 구현까지 전반적으로 훑어 주는 강의 수강하였고, 현재 조금 더 딥하게 서버 구현 전체적으로 훑어 주는 강의 듣고 있다.
2. 혼자 공부하시면서 어려우셨던 점은 없으셨는지?
jdbcTemplate 이해하면서 jquery 함수 사용하는데, 매개변수로 클래스를 받고 거기서 바로 함수 override하는 익명클래스를 개념으로만 접해봤지, 실제 구현에 사용해 본 적이 처음이라 당황했었다. 구글링을 통해 개념 이해하고 적용하며 짚고 넘어갔었다.
3. 이 실습을 할 때 서버가 제대로 동작하는 지는 어떻게 테스트 해봤는지? (웹 등)
강의를 들으면서 강사님이 postman으로 요청을 보내면서 업데이트 되는 걸 h2 데이터베이스를 활용해서 확인하는 방법을 알려주셨다. 그리고 지금 듣고 있는 강의에서는 올려주신 웹UI에서 확인하며 실습중이다.
3. 운영체제 수업 때 Little OS 구현 해보셨다고 하셨는데, 본인이 맡은 파트?
명령어를 구현해야 했기 때문에, 팀원들과 각자 명령어를 나누어 정하였고, 제가 맡은 파트는 mkdir과 rm을 구현하는 것이었습니다.
4. 이때 사용하셨다는 뮤택스 락이 뭔지 설명해주세요.
mkdir과 rm의 경우, 폴더를 여러개 생성하거나 삭제하는 작업이 필요한데, 이때 멀티스레딩 사용.
멀티스레딩을 사용할 때 여러 개의 작업이 동시에 일어나게 해야 하는데, 이때 두 작업이 같은 리소스를 사용해야 하므로, 동시성 문제가 발생할 수 있다.
이를 방지하기 위해 한 쪽의 함수에서 해당 리소스를 사용하는 작업에 들어갈 때 조건에 해당하는 변수를 바꿔주어 다른 쪽에서 작업에 들어가려 할 때 그 조건에 걸려 들어가지 못하게 처리해주었는데, 이때 조건에 사용한 것이 뮤택스 락
파트(Spring) 질문
1. API가 뭔지 설명해달라
2. 데이터베이스쪽 (MySQL 등)도 사용해보신 적 있는 것?
사용해본 적 있다. 현재 듣고 있는 강의를 들으며 MySQL 안에서 데이터베이스와 테이블을 생성하고 변경하는 것, 스프링부트 내에서 데이터베이스에 직접 접근할 수 있도록 jdbcTemplate을 사용하는 방법과 JPA를 사용하는 방법을 공부했음.
3. (다른 면접자에게) 어노테이션이 뭔지 설명해달라
등...
이밖에 다른 질문이 더 있었던 것 같기도 한데, 사실 조금 긴장했어서 기억이 잘 나지 않는다 ^^.. 이정도면 그래도 전반적인 면접 사항이었다고 생각한다.
4. (자소서에)
진지하게 준비하는 인생 첫 번째 면접이라 면접 준비를 정말 열심히 해갔는데, 준비해간 것에 비해서는 어렵지 않았던 면접인 것 같다.
아직 결과를 모르지만... 내일 결과가 나오면 수정하도록 하겠다
-> 합격 문자를 받았다! 즐거운 한 학기가 될 것 같다.