ballqs 님의 블로그
[면접 준비] 면접은 왜 하는가? 본문
면접이란? 왜 하는가?
공부를 하다보면 취업을 해야하고 취업을 위해서는 면접을 준비해야 한다.
면접은 지원자의 기술적인 부분과 성격적인 부분을 판단하기 위한 자리이며 이를 통해 지원한 회사의 구성원과 대화가 잘통하는지 알기 위함이다.
또한 지원자 또한 회사가 나랑 맞는지 판단하는 자리이기도 하다. 적혀있는 채용공고의 내용과 일치하는지? 다른 점은 없는지를 본다.
1.면접은 어떤 방식으로 진행되는가?
회사마다 면접 프로세스는 제각각이다.
예를 들어 아래의 프로세스들이 존재한다.
실리콘밸리 초기 스타트업
1. 4시간 동안 쇼핑몰 클라이언트, 서버 개발하기
2. 4시간이 지나면 코드를 제출하고 곧이어 바로 해당 코드에 대한 면접을 진행
미국발 글로벌 IT 기업
1. 4일 안에 Golang 언어로 서비스 개발하기
2. 며칠후 해당 코드에 대한 면접 진행
국내 중견기업
1. 3시간동안 알고리즘 3문제 풀어서 제출하기
2. 며칠이 지난 후 일반적인 개발 지식 관련된 면접 진행
3. 이어서 알고리즘 문제 풀이법에 대한 토론
국내 스타트업
1. 면접관들과 함께 있는 자리에서 A라는 문제를 해결할 수 있는 아키텍쳐 실시간으로 설계하기
2. 그리고 설계한 아케텍쳐를 터트리는 시도하기
국내 스타트업
1. 면접관들과 함께 있는 자리에서 대형 스크린을 띄워두고 라이브 코딩테스트 진행
2. 이후 작성한 코드를 기반으로 면접 진행
이 외에도 다양한 방식의 면접이 있지만 기술 면접의 경우 크게 3가지로 나뉜다.
사전 과제를 주고 그 과제 위주로 면접 진행
- 이메일을 통해 과제가 주어지며 요구되는 사항을 완료 후 제출하여 면접때 이에 대해 면접진행
실시간으로 과제 코딩
- 15분 내로 간단한 기능을 구현후 코드 작성 과정 설명
- 코딩테스트 문제가 주어지며 해당 문제를 풀고 코드 작성 과정 설명
과제 없는 실시간 대화
- 과거 프로젝트에 가장 큰 도전은 무엇이었나요? 등 지원자의 경험과 문제해결능력 평가
- cs지식에 대한 질문
2.회사는 면접을 통해 무엇을 확인하고자 하는가?
기술적 역량
- Java 관련된 기술 스택(Spring boot, 데이터베이스, 비동기 프로그래밍 등)
- 문제 해결 능력과 코드 작성 능력
- 코드 리뷰와 이해 능력
문화 적합성
- 회사의 가치와 개발문화에 부합하는지?
- 팀과의 협업 능력
성장 가능성
- 학습 의지와 능력
- 새로운 기술에 대한 적응력
예시)
기술적 역량
- 작성자가 게시글을 생성, 조회, 수정, 삭제할 수 있는 API 서버를 만들어주세요. 그리고 작성한 코드를 설명해주세요.
- 동기 프로그래밍과 비동기 프로그래밍의 차이가 뭘까요?
- 이런 상황에서는 어떻게 서버를 개발해야 할까요?
- → 스스로 경험한 내용들에 대해 자세히 인지하고 있어야 합니다. 우리가 TIL을 작성하고 프로젝트에서 본인이 작성하는 코드를 100% 이해해야 하는 이유죠.
문화 적합성
- 팀원들과의 갈등을 해결한 경험이 있나요?
- Nosql과 RDB의 차이와 특징에 대해 알고계신가요? 모르시면 제가 알려드릴게요. → 이러한 상황에서는 어떤 DB를 사용하면 좋을까요?
- ~~한 문제가 있으면 어떻게 해결할 수 있을까요?ex ) 수강생 관리 시스템, 뉴스피드
- → 우리가 팀 프로젝트를 진행하고, 매번 팀을 바꿔서 새로운 사람들과 협업하는 이유죠.
성장 가능성
- 이전에 프로젝트를 진행하며 어떤 기술을 사용했었나요?
- ~~한 기술이 있는데 어디에 적용하면 좋을까요?
- 최근에 학습한 기술은 뭐가 있나요?→ "만약 우리 서비스가 갑자기 트래픽 폭주를 겪는다면 어떻게 대응할 것인가?"라는 질문을 했다고 합시다. 여기서 중요한 건 완벽한 답변보다는 문제 해결 접근법과 빠른 학습 능력을 보여주는 것이에요.
- → 항상 새로운 기술을 배우려는 자세와 머릿속에 기본 개념을 미리 넣어두는 것이 필요해요. 그래야 실시간으로 배우는 내용들을 응용할 수 있죠.
3.면접에서는 어떻게 답변하고, 또 어떻게 대화해야 하는가?
이미 알고 있는 내용에 대한 질문
Best : 질문에 대해 명확하고 핵심만 간결하게 답변하고, 필요한 경우 구체적인 예시를 제공
Worst : 내가 아는 모든 것을 알려줄게 라는 태도로 끝없는 연설 시작
모르는 내용에 대한 질문
Best : 면접관에게 질문을 하여 대화를 주도하거나 힌트를 받아서 생각을 전개
Worst : 모릅니다라는 단어로 대화 종결
미리 준비한 내용에 대한 질문
Best : 준비한 내용중 면접관이 원하는 내용만 간단하게 답변
Worst : 무언가를 보고 읽거나 준비한 모든 것을 이야기하는 태도
4.그럼 평소에 어떻게 준비해야 하는가?
기본 지식 & 경험
CS지식 및 프로젝트 진행시 어떻게 설계하면서 시작했는가?에 대한 경험들이 면접 준비을 하는 행위나 마찬가지
TIL
지원자의 성실성, 태도, 성장 가능성, 학습의 깊이 등을 보기 위한 자료 정리(블로그 작성)
작성한 코드
구글 검색을 하거나 아님 ChatGPT한테 물어보면서 얻어온 코드를 정확히 이해하는지?
자신이 작성한 코드 조차도 이해 못하면 회사 측에서도 안좋게 볼수 밖에 없을 것
팀 프로젝트
프로젝트를 진행하면서 갈등이 생기기도 하고 좋은 시너지를 내기도 하는데 여기서 생기는 경험들이 면접에 중요함
해당 문제를 어떻게 해결했는지? 팀의 구성원으로 맡은 바 책임을 다했는지?
모의 면접
준비한 내용을 입 밖으로 꺼내는 연습! 면접 당시에 말로 표현하기 힘들면 이미 합격은 힘듭니다.
5.그래서 구체적으로 어떻게 대화를 준비하는가?
대화 주제 찾기
CS 질문의 경우
- 데이터베이스
- 운영체제
- 네트워크
- 자료구조
- 알고리즘
- 자바 & 스프링
대화 연습
- 특정 개념에 대해서 가볍게 설명한다.
- 내가 설명한 내용중에서 이해가 안되거나 추가적으로 설명해야 할 개념이 등장하는지 체크한다.
- 설명할 내용이 있다면 이를 설명하는 가벼운 설명을 준비한다.
- 그 안에서 또 추가적인 설명, 새로운 개념이 등장하는지 체크 한다.
- (꼬리 질문)
6.결론
면접은 대화이다!
핵심은 면접관의 질문에 잘 대답을 하고 못하고를 떠나서, 면접이 아닌 "대화를 해야한다.”
이를 통해서 같이 일 하고 싶은 사람이 되어야 한다.
같이 일한다는 의미는 개발자로 코드만 작성하고 요구사항만 들어주는 것이 아니라 같이 밥도 먹고, 스몰 토크도 하고, 대화하고 싶은 사람을 의미하는 것이다.
선천적으로 대화를 잘 하고 호감상인 사람이 있다. 이런 사람들은 별다른 노력을 하지 않고 대화만 해도 긍정적인 인상을 줄 수 있다.
하지만, 후천적인 노력을 통해서 대화를 잘하는 사람이 될 수 있다. 최소한 잘해 보이게 할 수 있다.
이를 통해서 같이 일 하고 싶은 사람이 되면 된다.
마무리
많은 면접 경험이 있지만 아다리가 맞는 경우가 있고 안맞는 경우도 존재했다.
다만! 미리 준비하는 자세는 항상 갖춰야하고 면접에 비록 떨어졌더라도 떨어진 경험을 발판삼아서 더 나은 모습으로 다음 회사 면접에서 합격할수 있을 것이라고 그렇게 믿으며 살아가자.
'내일배움캠프 > 데일리' 카테고리의 다른 글
TIL - 2024년 09월 06일 - 23조 KPT 회고 (0) | 2024.09.06 |
---|