<
인터뷰 후기 (크라우드웍스)
>
🌠다음 포스팅🌠

도메인 주도 설계
☄이전 포스팅☄

Servlet and JSP
크라우드웍스

🚀 크라우드웍스

목적: 데이터 라벨링 유형: 스타트업 주소: 서울 강남 지원: 신입 백엔드 개발

2월 11일 진행한 온라인 면접 약 1시간 가량의 질문이 오갔으며 사전 4가지의 질문지를 바탕으로 진행되어싸다.

크라우드웍스는 머신 러닝을 위한 데이터 라벨링을 다루기에 면접 준비 또한 머신러닝에 대한 주제를 질문할 줄 알았지만 면접 질문은 자기소개, 포트폴리오, CS 문제 등을 물어보았다.

🚀 질문

질문은 기술적인 지식 뿐만 아니라 자신이 사용하고 있는 기술을 지식적으로 적립되어 있는지 질문을 했다. 다음은 답변하지 못한 질문의 키워드 이다.

🌠 DDD (Domain Driven Design)

해당 도메인 전문가의 입력에 따라 도메인 을 일치시키는 모델링 소프트웨어에 중점을 둔 소프트웨어 설계 접근 방식으로 그 핵심은 Loose Coupling, High Cohesion 으로 각 도메인이 연결성이 적고 높은 정도로 연관되어 보다 가벼운 설계를 위해 만들어 졌다.

☄ DDD의 세가지 주요 원리

  1. 핵심 도메인과 그 기능에 집중하라.
  2. 도메인의 모델의 정교하게 구축하라.
  3. 어플리케이션 모델을 발전시키고 새롭게 생기는 도메인 관련 이슈를 해결하기 위해 도메인 전문가와 끊임없이 협력하라.

자세한 설명은 다음 포스팅에서 이어간다.

DDD에 대한 자세한 포스팅


🌠 HashMap 원리

HashTable에서 파생한 자료구조로 KeyValue로 이루어지는 1 대 1 저장 방식으로 사용자가 지정한 Key 값을 Hash Function을 통해 int형 해쉬값으로 바꾸고 이를 버킷(M) 사이즈로 나눈 나머지 값이 인덱스 값이 된다.

int index = hashcode() % M

☄ Hash Collision

그렇다면 계산한 결과값이 같아지는 경우는 어떻게 될까?

우리는 그것을 해쉬 충돌(Hash Collision)이라고 한다.

해시 충돌이란 해시 함수가 서로 다른 두 개의 입력값에 대해 동일한 출력값을 내는 상황을 의미 다시말해 다른 내용의 데이터가 같은 Key를 갖는 상황

자세한 설명은 다음 포스팅에서 이어간다.

Hash Collision에 대한 자세한 포스팅

🚀 회고

면접후 느낀것은 잘 배워갑니다. 라고 말하고 싶다.

자신이 사용하는 기술에 대해 얼마나 잘 알고있는지에 대한 질문이 대부분이다. 그러나 자신의 코드를 설명하는 것이 아닌 다음과 같은 느낌의 질문을 한다.

질문: 
Docker로 배포하셨다고 쓰여있습니다.
그러면 배포시 배포 테스트 코드는 어떻게 작성하셨나요? 
그리고 왜 Docker을 사용하셨나요?

Docker를 사용한 이유는 이야기 했지만 배포 테스트 코드는 본적도 없었기에 난감했다.

😭이럴때 만큼은 독학러들의 서러움이 누구보다 커진다.😭

☄ CS 및 응용 프로그램 질문 의 수준

전체적인 질문의 수준은 일반 코딩 학원 출신 및 어중간하게 공부한 닝겐들은 넘보지도 말라 가 적합할듯하다.

1년 반을 눈물을 흘리며 독학해도 광탈 당했지만 6개월 학습 기간의 주입식 학원의 취준생이라면 광탈 당할 것이다.

물론 지금 포스팅을 보는 학원 출신들은 욕을 할 수 있겠지만

HashMap에 대한 설명이 아닌 구조와 원리를 설명하세요.

라는 질문이라면 해쉬 함수 부터 해쉬 충돌까지 설명할 수 있는 사람은 없을 것이다.

😥😥 나 또한 그랬고 😥😥

🚀 앞으로

느슨해진 삶에 긴장을 주는 순간이었다.

학습의 방향에 있어 하나의 주제를 이렇게나 깊이 공부할 생각을 하지 못했고 하나의 주제를 가지고 블로그 포스팅을 하여 생각을 정리해야하는 것이 정말 중요하다는 것을 알게되었다.

작은 지식이라도 포스팅은 필수가 되었다.

Top
Foot