이전에 남기지 않았었던 현대자동차 - 카클라우드 직무 코테 및 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차 면접에 대한 후기를 위주로 남깁니다.
인적성 및 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분 소요)
1. 자기소개 및 지원동기
2. 공고 관련 직무의 유관경험에 대해
3. 현대자동차 제품과 관련된 질문
* Combo 질문 - 총 3문제씩 3세트 모든 질문을 기록해두지는 못해서 세트당 테마를 적어보겠습니다 *
( 1 Set ) 팀원과 공동목표를 수립하고 정진했던 경험
- 팀원들과의 협업한 경험에 대한 질문들, 어려운 일을 함께 도전한 경험이나 힘든 점들에 대한 극복 포인트 등에 대해서 물어봤습니다. (3개로 쪼개서)
( 2 Set ) 아이디어관련된 테마
- 창의적인 아이디어를 낸 경험이나 그 과정에서 힘든 과정들 그리고 새로운 아이디어에 대해 주변 사람들과의 의견 충돌 등에 대해서 물어봤습니다. (3개로 쪼개서)
( 3 Set ) 팀원들과의 의견충돌 마찰관련해서 어떻게 극복했는지에 대한 테마
- 다른 사람과 협업중 의견이 달라서 힘들었던 경험이나 힘든 일을 극복하기 위해서 어떻게 했는지 그리고 이에 대해 느낀점 등을 물어봤습니다. (3개로 쪼개서)
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이고 Permuation으로 풀때 O(20!)이 됩니다. 따라서 시간초과가 납니다. 무조건 조합으로 풀어야 시간안에 들어옵니다.
2번 문제 후기: 저는 Java로 풀었기때문에 Python의 Itertools같은 library가 없었습니다. Combination/Permutation을 직접 다 구현해서 시간이 더 오래걸렸습니다 ㅠㅠ 그리고 이게 순열 조합문제인지 5~10분정도 생각해본 이후에 파악해서 조금 더 오래걸린감도 없지않아 있었습니다 (소요시간 약 1시간정도)
3번. --- 기억 못함 ----
2번까지만 풀고 3번문제는 아예 읽지도 못해 생각조차 할수가 없습니다.
https://github.com/taehyuklee/Algorithm/tree/main/CodingTestReproduction/HyundaiMotor-codingTest
Algorithm/CodingTestReproduction/HyundaiMotor-codingTest at main · taehyuklee/Algorithm
알고리즘 온라인 저지에서 푼 문제들 위주로 기록해두는 저장소 (백준, 프로그래머스, 소프티어, 코드트리 등) - taehyuklee/Algorithm
github.com
<README.md로 정리해놓았습니다>
1차면접 후기
1차면접은 사전과제와 직무면접으로 이루어져 있습니다.
사전과제 + 직무면접
사전과제 관련된 주제랑 문제 세부사항들은 여기서 밝힐수 없음을 말씀드립니다. 이 부분에 대해서는 확실히 현대자동차에서 보안을 지켜달라고 명시해놨기 때문에 문제자체의 디테일에 관련해서는 여기서 포스팅하지 않겠습니다. 대신, 사전과제 형식, 직무면접에서 사전과제에 대한 진행이 어떻게 되는지 등 절차에 대해 말씀드리겠습니다.
1. 사전과제
사전과제는 직무면접에 들어갔을때 사전에 주어진 문제를 해결하고 그 해결방안을 면접관들 앞에서 5~10분정도 발표하기 위한것입니다. 직무면접 40분전에 온라인으로 사전과제 창으로 접속하셔서 10분간 대기합니다 (온라인 대기창이 있습니다). 대기하고 있다가 감독관(온라인으로 실제 사람이 대기창으로 들어옵니다) 가이드하에 30분간 문제를 읽고 해당 문제의 솔루션을 온라인 편집장에 기술하시면 됩니다.
* 온라인 편집창에서 표나 제목 글씨, 굵기, 색상 등 다 편집 가능합니다.
문제에 대해 세부적으로 말씀드릴수는 없지만, 큰 범주로 어떤 유형의 문제가 나오는지는 말씀드리겠습니다. 본인이 지원한 공고에 대한 유관 문제가 나옵니다. 회사에서 실제로 부딪혔을때 풀어야할 문제들입니다. 이정도까지만 말씀드리겠습니다. 물론 저는 제가 지원한 분야에서밖에 경험이 없기때문에 모든 직무가 이런식으로 나오는지는 확실하지 않습니다.
사전과제에 대한 준비방법 (저의 방법)
- 이 부분이 가장 궁금해 하실 것 같습니다. 사전과제 형식은 2023년 상반기부터 처음으로 시행되었던 유형이었습니다. 먼 옛날에 시행되었다고는 하는데 어쨌든 근례에는 이런 사례가 없었습니다. 저도 결국 어떤 문제가 나올것이다? 정도로만 예상하고 준비했습니다.그리고 그 예상이 어느정도 적중했습니다.
"카클라우드 직무면 나름의 대용량 서비스를 하고 있을 거고 데이터가 엄청 발생하는 문제가 발생하고 있겠구나 그러면 서버 개발부터 인프라적인 측면에서도 문제가 있을 것이다."
저는 위의 상황을 가정하고, 전반적인 아키텍처, 서버 개발 방법론 등 다양한 방면으로 생각해보고 정리했습니다. 저는 당시 실제 현업을 뛰고 있었고 다행히도 API Gateway솔루션 프로젝트에 참여하고 있었기때문에 대용량 트래픽을 접할 기회가 있었습니다.
2. 직무면접 (다대일 면접 1:3)
사전과제가 끝나고 감독관의 안내에 따라 화상(온라인) 직무 면접실에 들어갔습니다. 들어가서 짧게 자기소개를 하고 사전과제에 대한 브리핑을 시작했습니다. 면접관분들이 주로 봤었던 포인트는 제가 문제의 의도를 잘 파악했는지 그리고 문제에 대한 해결책이 논리적으로 잘 짜여 있는지 물어보는 거였습니다.
물론 이 부분에 대한 기술적인 이해도는 어느정도 있어야 문제를 풀수있기는 합니다. 하지만, 정답을 바란다기보다 논리적인 해답을 듣고싶어하는 듯 해보였습니다.
[면접관 분들의 사전과제에 대한 피드백]
저는 사전과제에 대해 방어를 잘 하고나서 면접관분들께서 문제를 잘 파악하셨고 나름 정답에 가깝게 말씀하신 것 같다고 피드백을 주셔서 기분은 좋았습니다.
사전과제 브리핑과 방어가 끝나고 바로 제가 했었던 프로젝트에 대한 검증이 들어갔습니다. 정말 기술적으로 많은 질문들을 해주셨는데, 생각나는 질문들 몇개만 적어보겠습니다. 저의 API Gateway 솔루션 프로젝트 기반의 질문들이었습니다.
1. API Gateway에서 인증/인가 관련해서 어떤 방식을 사용하셨나요?
기본적으로는 Basic Auth를 사용할수 있게 하고 추가적으로 MTLS방식을 지원한다고 얘기하면서 인증/인가 방식 체계에 대해 얘기했습니다.
2. 암호화 알고리즘을 쓰셨을텐데 어떤 암호화 알고리즘을 쓰셨나요?
순간 제가 잘못대답했습니다 ㅠㅠ RSA512쓰고 있었는데.. (이거 잘못대답한게 조금 크리티컬하기도 했습니다)
3. API Gateway에서 많은 데이터를 처리하기 위해서는 어떻게 개발을 하였는가?
3.1) 비동기처리를 어떤 방식으로 하였는가? (3번 꼬리 질문)
3.2) Non-Blocking방식을 말씀하셨는데 어떻게 구현하였으며 Non-Blocking이 무엇인지 설명해보라 (3.1번 꼬리 질문)
저희는 Spring Cloud기반이고, WAS를 보통은 임베디드 Tomcat을 사용하지만, WebFlux를 사용하게되면 기본적으로 Netty (이벤트루프 기반의 비동기 처리)를 사용한다고 말했습니다. 그렇게 저희는 Muti-Threading/Non-Blocking방식으로 비동기처리를 했다고 했습니다. 그리고 실제로 중간에 Blocking Code가 들어가 있어서 문제가 발생했었던 경험도 있다고 말씀드리며 경험 공유도 했습니다
Non-Blocking에 대해 설명할때 OS Level에서 대답했습니다. Non-Blocing관련해서 System Call부터 실제 예시를 들며 설명했습니다.
4. Open API로 Java진영에서 Swagger를 쓰셨다고 했는데 버전은 뭘로 쓰셨나? 어떻게 사용했나?
SpringBoot와의 버전문제 호환 문제 관련해서 구체적으로 대답했고 커스터마이징 어떤 방식이었는지 얘기했습니다. (실제로 Swagger 2,xx버전과 Swagger 3.xx버전이 커스터마이징 관련해서 버전 이슈가 있었습니다)
5. 대용량 트래픽을 처리하기 위해서는 인프라적으로 어떻게 되어 있어야 하는가? 그리고 어떤 유관부문들이 서로 협업을 해야 한다고 생각하는가?
저는 인프라적으로 이중화 관련된걸 얘기했고, API Gateway 또한 분산처리하는게 핵심 역할중에 하나라 소개하기도 했습니다. 그리고 유관 부문으로는 네트워크, DBA 등 인프라인력부터 우리 개발 인력까지 모두 협업해야 한다고 말했습니다. 실제로 API Gateway를 배포할때를 생각하며 대답했습니다.
6. Java에 대해서는 어느정도 잘 아시는 것 같은데 다른 언어 써보신거 있느냐?
6.1) Python의 Thread와 Java의 Thread차이점을 아느냐?
저는 대학원때 Python기반으로 강화학습 모델링을 했었기때문에, Python을 사용해다고 했습니다. 그리고 마지막에 Thread의 차이점에 대해서는 잘 모른다고 대답했습니다. 단지 대학원때는 강화학습 자체를 수학적으로 풀어서 공부하고 구현하는데 급급해서 컴퓨터 싸이언스 자체에 대해서는 공부를 제대로 못했었다고 얘기했습니다.
제가 기억나는 질문들은 이정도입니다. 큰 질문 6개중에 4개는 제대로 대답하고 1개는 모르고 1개는 틀리게 대답해서 면접 복기하고 셀프 피드백하면서, "아 사전과제도 괜찮았고 자소서 기술 검증 자체도 나쁘지 않은 타율이니까 붙을 가능성이 높겠다"라고 생각했습니다.
7. 마지막 하고싶은 말
저는 그때 저희가 만들었던 API Gateway가 2023 World IT Show에 전시되었기때문에 exhibitor로 갔었습니다. 그때 현차 부스에 가서 열심히 질문하고 현재 트랜드, 인포테인먼트 시스템 등에 대해 물어봤었습니다. 이걸 기반으로 요즘 현차에서의 트랜드를 거론하며 현대자동차의 이런 트랜디함에 탑승하고싶다라고 포부를 밝히며 끝냈습니다.
하지만.... 떨어졌습니다 ㅠㅠ..
1차 결과 발표일 2023-05-12, 발표시각: 11:25정도 (공교롭게도 글 포스팅하는 시점 작년 오늘이네요)
제가 회사에서 점심시간에 그 결과를 확인한거라 너무나도 충격이었는지 보통은 떨어진 결과도 다 저장해놓는데 그 화면이 없군요. (이날 저녁에 회사동기들하고 교촌 치킨 먹으러 가서 하이볼 한잔 했습니다)
저의 현대자동차 여정은 여기서 마무리 되었습니다.
준비하는 동안 힘들기도 했지만 자신을 되돌아보기도 하고 즐거웠던 기억들도 꽤 많았습니다.
이 글이 누군가에게 도움이 되었으면 좋겠습니다 :)
'후기 > 취준-이직 후기' 카테고리의 다른 글
삼성전자 코딩테스트(코테) 구현 모듈 (공유) (0) | 2024.10.08 |
---|---|
[신입 공채] 삼성전자 코딩테스트:코테 후기 (삼성 리서치 Samsung Research / 혁신센터) (0) | 2024.10.08 |
[신입 공채] SK C&C - 코테 및 면접 (최종 합격) 후기 (0) | 2024.05.15 |
[신입 공채] LG 전자 - 코테 및 면접 (최종 탈락) 후기 (2) | 2024.05.10 |
[신입 공채] kt ds - 기업 코테 및 면접 (최종 합격) 후기 (0) | 2024.05.09 |