[신입 공채] 현대자동차 카클라우드 — 코테 + 1차 면접 (1차 탈락) 후기 (2023 상반기)
이전에 남기지 않았었던 현대자동차 — 카클라우드 직무 코테 및 1차 직무면접 후기에 대해서 기록을 남겨볼까 합니다.
2023년도 상반기에 현대자동차 신입 공채로 지원을 했었습니다. 결과적으로 1차 면접에서 탈락했지만, 이에 대한 내용들은 알찼기 때문에 후기로 남깁니다.
2023년 상반기 현대자동차 카클라우드 직무 1차면접까지의 일정이었습니다 참고하시길 바랍니다.
| 절차 | 일정 |
|---|---|
| 서류 마감일 | 2023-03-14 |
| 서류 결과 발표 | 2023-03-30 |
| 인적성 검사 / AI 면접 | 2023-04-04 |
| 인적성 검사 / AI 면접 결과 발표 | 2023-04-07 |
| 코딩테스트 날짜 | 2023-04-18 |
| 1차 면접일 | 2023-04-28 |
| 1차 면접 결과 발표 | 2023-05-12 |
이번 포스팅에서도 서류 합격 이후 AI면접 / 인적성 검사, 코딩테스트, 1차 면접에 대한 후기를 위주로 남깁니다.
그림1. 서류합격 결과
인적성 및 AI면접 후기
인적성검사 및 AI 일시: 2023-04-04 (화) 07:00 - 22:00
인적성검사와 AI면접은 해당 일자에 07:00 - 22:00 사이에 응시하면 됐습니다. 저같은 경우는 회사를 다니고 있었기 때문에 오후 반차를 내서 응시했었던 기억이 있습니다.
A. 인적성검사 (약 1시간)
일반적인 인성검사와 같습니다. 소요시간 약 1시간 정도이며, 본인의 일관된 모습을 생각하며 인적성검사에 응시하시면 됩니다. 크게 어려움 없으니 부담갖지 마시고 응시하세요!
B. AI 면접 일부 복기 — 뷰인터 플랫폼 이용 (총 12문제)
모든 사항들에 대해 기억나지는 않지만, 면접보고 기록해두었던 걸 기준으로 정리해봤습니다.
각 항목 당 대답할 시간 1분 또는 1분 30초씩 시간이 주어집니다. 그리고 항목 문제를 보고 대답을 준비할 시간 30초에서 1분 정도 주어집니다. (총 30~40분 소요)
- 자기소개 및 지원동기
- 공고 관련 직무의 유관경험에 대해
- 현대자동차 제품과 관련된 질문
Combo 질문 — 총 3문제씩 3세트, 모든 질문을 기록해두지는 못해서 세트당 테마를 적어보겠습니다.
(1 Set) 팀원과 공동목표를 수립하고 정진했던 경험 - 팀원들과의 협업한 경험에 대한 질문들, 어려운 일을 함께 도전한 경험이나 힘든 점들에 대한 극복 포인트 등에 대해서 물어봤습니다. (3개로 쪼개서)
(2 Set) 아이디어 관련된 테마 - 창의적인 아이디어를 낸 경험이나 그 과정에서 힘든 과정들 그리고 새로운 아이디어에 대해 주변 사람들과의 의견 충돌 등에 대해서 물어봤습니다. (3개로 쪼개서)
(3 Set) 팀원들과의 의견충돌 마찰 관련해서 어떻게 극복했는지에 대한 테마 - 다른 사람과 협업 중 의견이 달라서 힘들었던 경험이나 힘든 일을 극복하기 위해서 어떻게 했는지 그리고 이에 대해 느낀점 등을 물어봤습니다. (3개로 쪼개서)
그림2. AI면접 및 인성검사 전형 합격 결과
AI면접 및 인적성 결과는 3일후 바로 발표가 났습니다. 2023-04-07에 발표났습니다.
코딩테스트 후기
코딩테스트: 2023-04-18 (오전 10:00 - 12:00, 2시간)
총 3문제가 나왔습니다. (총 2시간) 저는 1번, 2번 두 문제를 풀었기 때문에 3번은 아예 문제를 못 읽어서 기억을 못합니다.
코딩테스트 시험 응시 플랫폼 — Softeer
Softeer — 현대자동차그룹 SW인재확보플랫폼Softeer is for software Engineer.softeer.ai
📝 문제는 기억해서 복기는 했지만, 코드는 복기해서 git에 올려놓지는 못했습니다. 따라서 러프하게 문제를 기술해봅니다.
⚠️ 제가 생각나는대로 후기를 남기는 거기 때문에 대략 이런 문제였던 거지 완벽히 이런 문제였던 건 아닙니다.
1번. 구현문제 (시뮬레이션)
위의 그림은 제가 생각나는대로 제가 직접 그린 그림입니다
위의 그림과 같이 숫자가 적혀 있고 왼쪽 상단부터 (1,1)로 오른쪽 하단으로 (n,n)이라고 규칙을 정해져 있을 때 — (r,c) 가 주어지면 그 좌표에 적혀있는 숫자를 반환하는 문제였습니다. 예를 들어 (3,4) 가 주어지면 12 를 반환하는 문제였습니다.
1번 문제 후기: 어렵지는 않지만 2시간 안에 3문제를 풀어야 하는 압박감에 규칙이 잘 보이지 않았습니다 ㅠ 약 50분 정도 시간을 소요했던 것 같습니다.
2번. 순열 조합 문제 (수학)
위의 그림은 제가 생각나는대로 제가 직접 그린 그림입니다
각 사람의 수와 종목의 수가 N, M으로 주어지고 N = 6, M = 3 (N≤20) 그리고 위와 같이 사람마다 각 종목에 대한 실력이 수치로 나와있었습니다.
운동회를 재밌게 하기 위해 각 종목마다 실력차가 가장 작게 팀편성을 하고 싶다는 것이 이 문제였습니다. 팀편성은 딱 절반으로 잘라 편성을 할 것이며 사람은 다행히 짝수명이라는 조건이 있었습니다.
제가 생각했던 문제의 풀이법:
→ 조합으로 절반을 뽑아 각 종목마다 실력차 (절댓값) 을 모두 비교해 가장 작은 값을 반환해주면 되는 문제였습니다.
💡 Tip: 여기서 순열로 풀어도 정답은 나오겠지만 N=20 이기 때문에 N=20 이고 Permutation 으로 풀 때 O(20!) 이 됩니다. 따라서 시간초과가 납니다. 무조건 조합으로 풀어야 시간 안에 들어옵니다.
2번 문제 후기: 저는 Java 로 풀었기 때문에 Python 의 itertools 같은 library 가 없었습니다. Combination / Permutation 을 직접 다 구현해서 시간이 더 오래 걸렸습니다 ㅠㅠ 그리고 이게 순열 조합문제인지 5~10분 정도 생각해본 이후에 파악해서 조금 더 오래 걸린 감도 없지 않아 있었습니다 (소요시간 약 1시간 정도)
3번 — 기억 못함
2번까지만 풀고 3번 문제는 아예 읽지도 못해 생각조차 할 수가 없습니다.
1차면접 후기
1차면접은 사전과제 + 직무면접으로 이루어져 있습니다.
🔒 사전과제 관련된 주제랑 문제 세부사항들은 여기서 밝힐 수 없음을 말씀드립니다. 이 부분에 대해서는 확실히 현대자동차에서 보안을 지켜달라고 명시해놨기 때문에 문제 자체의 디테일에 관련해서는 여기서 포스팅하지 않겠습니다. 대신, 사전과제 형식, 직무면접에서 사전과제에 대한 진행이 어떻게 되는지 등 절차에 대해 말씀드리겠습니다.
1. 사전과제
사전과제는 직무면접에 들어갔을 때 사전에 주어진 문제를 해결하고 그 해결방안을 면접관들 앞에서 5~10분 정도 발표하기 위한 것입니다. 직무면접 40분 전에 온라인으로 사전과제 창으로 접속하셔서 10분간 대기합니다 (온라인 대기창이 있습니다). 대기하고 있다가 감독관 (온라인으로 실제 사람이 대기창으로 들어옵니다) 가이드 하에 30분간 문제를 읽고 해당 문제의 솔루션을 온라인 편집장에 기술하시면 됩니다.
📝 온라인 편집창에서 표나 제목 글씨, 굵기, 색상 등 다 편집 가능합니다.
문제에 대해 세부적으로 말씀드릴 수는 없지만, 큰 범주로 어떤 유형의 문제가 나오는지는 말씀드리겠습니다. 본인이 지원한 공고에 대한 유관 문제가 나옵니다. 회사에서 실제로 부딪혔을 때 풀어야 할 문제들입니다. 이 정도까지만 말씀드리겠습니다. 물론 저는 제가 지원한 분야에서밖에 경험이 없기 때문에 모든 직무가 이런 식으로 나오는지는 확실하지 않습니다.
사전과제에 대한 준비방법 (저의 방법)
이 부분이 가장 궁금해 하실 것 같습니다. 사전과제 형식은 2023년 상반기부터 처음으로 시행되었던 유형이었습니다. 먼 옛날에 시행되었다고는 하는데 어쨌든 근례에는 이런 사례가 없었습니다. 저도 결국 어떤 문제가 나올 것이다? 정도로만 예상하고 준비했습니다. 그리고 그 예상이 어느정도 적중했습니다.
"카클라우드 직무면 나름의 대용량 서비스를 하고 있을 거고 데이터가 엄청 발생하는 문제가 발생하고 있겠구나. 그러면 서버 개발부터 인프라적인 측면에서도 문제가 있을 것이다."
저는 위의 상황을 가정하고, 전반적인 아키텍처, 서버 개발 방법론 등 다양한 방면으로 생각해보고 정리했습니다. 저는 당시 실제 현업을 뛰고 있었고 다행히도 API Gateway 솔루션 프로젝트에 참여하고 있었기 때문에 대용량 트래픽을 접할 기회가 있었습니다.
2. 직무면접 (다대일 면접 1:3)
사전과제가 끝나고 감독관의 안내에 따라 화상 (온라인) 직무 면접실에 들어갔습니다. 들어가서 짧게 자기소개를 하고 사전과제에 대한 브리핑을 시작했습니다. 면접관 분들이 주로 봤었던 포인트는 제가 문제의 의도를 잘 파악했는지 그리고 문제에 대한 해결책이 논리적으로 잘 짜여 있는지 물어보는 거였습니다.
물론 이 부분에 대한 기술적인 이해도는 어느정도 있어야 문제를 풀 수 있기는 합니다. 하지만, 정답을 바란다기보다 논리적인 해답을 듣고 싶어하는 듯 해보였습니다.
[면접관 분들의 사전과제에 대한 피드백]
저는 사전과제에 대해 방어를 잘 하고 나서 면접관 분들께서 문제를 잘 파악하셨고 나름 정답에 가깝게 말씀하신 것 같다고 피드백을 주셔서 기분은 좋았습니다.
사전과제 브리핑과 방어가 끝나고 바로 제가 했었던 프로젝트에 대한 검증이 들어갔습니다. 정말 기술적으로 많은 질문들을 해주셨는데, 생각나는 질문들 몇 개만 적어보겠습니다. 저의 API Gateway 솔루션 프로젝트 기반의 질문들이었습니다.
1. API Gateway 에서 인증/인가 관련해서 어떤 방식을 사용하셨나요?
2. 암호화 알고리즘을 쓰셨을 텐데 어떤 암호화 알고리즘을 쓰셨나요?
3. API Gateway 에서 많은 데이터를 처리하기 위해서는 어떻게 개발을 하였는가?
- 3.1) 비동기 처리를 어떤 방식으로 하였는가? (3번 꼬리 질문)
- 3.2) Non-Blocking 방식을 말씀하셨는데 어떻게 구현하였으며 Non-Blocking 이 무엇인지 설명해보라 (3.1번 꼬리 질문)
저희는 Spring Cloud 기반이고, WAS 를 보통은 임베디드 Tomcat 을 사용하지만, WebFlux 를 사용하게 되면 기본적으로 Netty (이벤트 루프 기반의 비동기 처리) 를 사용한다고 말했습니다. 그렇게 저희는 Multi-Threading / Non-Blocking 방식으로 비동기 처리를 했다고 했습니다. 그리고 실제로 중간에 Blocking Code 가 들어가 있어서 문제가 발생했었던 경험도 있다고 말씀드리며 경험 공유도 했습니다.
Non-Blocking 에 대해 설명할 때 OS Level 에서 대답했습니다. Non-Blocking 관련해서 System Call 부터 실제 예시를 들며 설명했습니다.
4. Open API 로 Java 진영에서 Swagger 를 쓰셨다고 했는데 버전은 뭘로 쓰셨나? 어떻게 사용했나?
5. 대용량 트래픽을 처리하기 위해서는 인프라적으로 어떻게 되어 있어야 하는가? 그리고 어떤 유관부문들이 서로 협업을 해야 한다고 생각하는가?
6. Java 에 대해서는 어느정도 잘 아시는 것 같은데 다른 언어 써보신 거 있느냐?
- 6.1) Python 의 Thread 와 Java 의 Thread 차이점을 아느냐?
제가 기억나는 질문들은 이 정도입니다. 큰 질문 6개 중에 4개는 제대로 대답하고 1개는 모르고 1개는 틀리게 대답해서 면접 복기하고 셀프 피드백하면서, "아 사전과제도 괜찮았고 자소서 기술 검증 자체도 나쁘지 않은 타율이니까 붙을 가능성이 높겠다" 라고 생각했습니다.
7. 마지막 하고 싶은 말
하지만... 떨어졌습니다 ㅠㅠ..
1차 결과 발표일 2023-05-12, 발표 시각: 11:25 정도 (공교롭게도 글 포스팅하는 시점 작년 오늘이네요).
제가 회사에서 점심시간에 그 결과를 확인한 거라 너무나도 충격이었는지 보통은 떨어진 결과도 다 저장해 놓는데 그 화면이 없군요. (이날 저녁에 회사 동기들하고 교촌 치킨 먹으러 가서 하이볼 한 잔 했습니다)
마무리
저의 현대자동차 여정은 여기서 마무리 되었습니다. 준비하는 동안 힘들기도 했지만 자신을 되돌아보기도 하고 즐거웠던 기억들도 꽤 많았습니다.
이 글이 누군가에게 도움이 되었으면 좋겠습니다 :)
댓글