취업 관련 준비 4

기술 면접 대비 예상 질문 모음 - 11/14 ~ 11/17

39. CI/CD에 대해서 설명해주세요. my) CI/CD는 각각 "Continuous Integration"과 "Continuous Deploy"의 줄임말로서 소프트웨어의 개발 및 배포를 자동화함으로서 더 빠르고 Human Error가 개입할 가능성을 차단해 신뢰성을 높이는 기술 개념입니다. CI는 개발자들이 공유 코드 저장소에 통합할 때마다 빌드 및 테스트를 수행하는 과정을 의미하며, 이것을 통해 코드 통합을 더 자주하게 되어 코드 병합 충돌을 줄여갈 수 있고 버그를 조기에 발견할 수 있다는 이점이 생깁니다 CD는 테스트를 통과한 코드의 프로덕션으로의 배포를 자동화 시키는 것을 의미하며, 이것을 통해 Human Error에 의해 배포할 수 없는 상황이 일어나지 않게 해줍니다. 40. TDD에 대해서 ..

기술 면접 대비 예상 질문 모음 - 10/30 ~ 11/3

31. 대용량 트래픽 발생 시 어떻게 대응해야 하나요? my) 대용량 트래픽이 발생해서 서버의 응답 속도가 도저히 서비스를 진행시키기 어려울 정도라면 2단계에 걸쳐서 해결할 계획입니다. 첫 번째 단계는 서버 내부에 불필요한 계산을 수행하는 로직을 찾아서 제거하는 것 입니다. Java의 Boxing, UnBoxing이라던지 N+1 문제라던지 잘못된 자료구조 적용 등등의 이유로 인해 똑같은 업무를 수행하지만 잘못된 로직으로 인해 발생한 속도 저하를 점검할 것 입니다. 두 번째 단계는 Scale-Up이나 Scale-Out을 하는 것 입니다. 첫 번째 단계를 거쳤음에도 불구하고 응답 속도가 느리다면, 서버의 스펙을 늘려서 처리 속도를 늘리던지 아니면 서버의 갯수를 늘리고 트래픽을 분산시켜야 합니다. 다만, 서버..

기술 면접 대비 예상 질문 모음 - 10/23 ~ 10/27

21. RDBMS의 정규화에 대해 설명해주세요. my) 데이터를 사용할 때, 데이터가 유일하지 않다면 수정, 삭제, 삽입 시 모든 데이터에 일괄 적용되지 않을 수 있습니다. 이것을 DB 이상 현상이라고 부르며 삽입 이상, 수정 이상, 삭제 이상가 이에 해당 합니다. 이런 이상 현상을 없애기 위해선 정규화라는 작업을 수행해야 하는데 주 목적은 데이터의 중복성을 향상시키는 것이라 볼 수 있습니다 정규화는 정말 다양한 것이 존재하지만 3가지의 정규화를 말씀드리겠습니다. 제 1 정규화는 List 형식의 데이터를 분해해 여러 개의 Tuple로 만드는 과정입니다. 예를 들어, 게시글 테이블의 속성 중 댓글들이라는 속성이 있다면 해당 열에는 댓글들의 목록이 할당될 것입니다. 이 때, 게시글 테이블과 댓글 테이블을 분..

기술 면접 대비 예상 질문 모음

👣 문답 7. JVM의 스택과 힙메모리 영역에 대해 아는 만큼 설명해주실 수 있을까요? my) JVM은 프로그램 중 필요한 메모리들을 관리해주는 역할을 가지고 있습니다. JVM이 관리하는 메모리를 영역을 'Runtime Data Area'라고 부르는데 메모리 영역 중 함수를 실행하기 위해 지역 변수를 저장하는 공간을 '스택'이라고 부르며 배열 혹은 참조형 변수를 저장하는 공간을 '힙메모리 영역'이라고 부릅니다. '스택'은 이름 그대로 Stack 자료 구조를 가지고 있으며, 함수가 시작될 때마다 Stack에 Stack Frame이 하나씩 쌓이며 함수가 종료되면 해당 Stack Frame을 Pop시킵니다. 이러한 구조로 인해 굳이 Garbage Collector가 직접 메모리 정리를 하지 않아도 된다는 장점..