초록꼬마의 devlog

책 정보: https://www.yes24.com/Product/Goods/101547405

 

누가 IT시장 취업에 성공하는가 - 예스24

개발자가 되기 위해 취업을 준비하거나 이직을 고려하는 분들을 위한 지침서다. 또한 현직 CTO로서 경험한 수많은 면접 경험이 내용에 녹아 있어 면접관에게도 훌륭한 교과서가 될 수 있다. 일반

www.yes24.com

 

코딩 면접의 기본과 실전

문제 풀기

Step1) 문제 핵심 파악하기
- 처음 보는 문제(의 핵심)를 제대로 이해하고 개발하는 능력을 보여야 함
- 가능한 경우 문제를 제대로 이해했는지 면접관에게 확인

Step2) 의사(pseudo) 코드 작성

Step3) 코드 작성

Step4) 테스트 케이스 만들기/추출
- (추가적인)테스트 케이스를 제대로 추출하고 내가 확인해보고 다 풀었다고 하는 것 vs 예시로 제공해 준 입력 값들의 결과만 확인해보고 다 풀었다고 하는 것
- e.g. 입력 값이 null인 경우 1:1 면접이라면 면접관에게 질문하는 것이 좋음

입력 값이 null이면
0을 리턴할까요?
예외를 발생시켜 줄까요?
예외는 임의로 발생시킬까요?
아니면, 생각하시는 방식이 있으시면 그 방식대로 처리하겠습니다

Step5) 타인에게 설명

 

- 종이(또는 화이트보드)에 풀어보기 <- 문서 편집기 활용 연습 <- 온라인 코딩 사이트 활용 연습

- 주어진 문제를 끝까지/지속적으로 모든 수단과 방법을 찾아 해결하려고 하는 자세

  • 정 생각해보다 모르겠으면 "이렇게~ 풀려고 하는데, 아주 좋은 방법은 아닌 것 같아서요. 혹시 힌트 좀 주실 수 있나요?" 여쭤보기 vs 힌트도 안 물어보고 그냥 포기
  • 문제 해결을 위해 어떤 시도를 하고, 얼마나 치열하게 고민하는지 평가

 

문제 리뷰하기

  • 알고리즘의 (시간/공간)효율성/복잡도
  • 코드 제대로 작성하기, 좋은 코드 작성
    • 요구사항 정확하게 지키기
    • 명명 규칙 제대로 따르기 -> 클래스명, 메서드 및 변수명, 상수 이름 등
    • 메서드나 변수 이름만 보면 무슨 역할을 하는지 알 수 있음  
      e.g. for문 인덱스 = loop, out/inLoop 등  
      하나씩 증가하는 값 = index 등

 

 

기능적 요구사항 비기능적 요구사항
기본적인 요건 수행 성능, 보안, 리소스 등
e.g. 입/출력 값이 정확하게 예상대로 나옴 등 e.g. 응답 시간, 접근 권한, 메모리 사용량 등

 

  • 내가 만든 코드 설명 연습
  • 못 풀었다면? 귀가해서 반드시 답을 내고 자기

'life > books' 카테고리의 다른 글

커리어 스킬  (0) 2023.06.27
refactoring  (0) 2022.10.01
실용주의 프로그래머  (0) 2022.08.02
페르마의 마지막 정리  (0) 2022.07.22
토비의 스프링 3.1  (0) 2022.04.22