책 정보: https://www.yes24.com/Product/Goods/101547405
누가 IT시장 취업에 성공하는가 - 예스24
개발자가 되기 위해 취업을 준비하거나 이직을 고려하는 분들을 위한 지침서다. 또한 현직 CTO로서 경험한 수많은 면접 경험이 내용에 녹아 있어 면접관에게도 훌륭한 교과서가 될 수 있다. 일반
www.yes24.com
1. 코딩 면접의 기본과 실전
1.1. 문제 풀기
Step1) 문제 핵심 파악하기
- 처음 보는 문제(의 핵심)를 제대로 이해하고 개발하는 능력을 보여야 함
- 가능한 경우 문제를 제대로 이해했는지 면접관에게 확인
Step2) 의사(pseudo) 코드 작성
Step3) 코드 작성
Step4) 테스트 케이스 만들기/추출
- (추가적인)테스트 케이스를 제대로 추출하고 내가 확인해보고 다 풀었다고 하는 것 vs 예시로 제공해 준 입력 값들의 결과만 확인해보고 다 풀었다고 하는 것
- e.g. 입력 값이 null인 경우 1:1 면접이라면 면접관에게 질문하는 것이 좋음
입력 값이 null이면
0을 리턴할까요?
예외를 발생시켜 줄까요?
예외는 임의로 발생시킬까요?
아니면, 생각하시는 방식이 있으시면 그 방식대로 처리하겠습니다
Step5) 타인에게 설명
- 종이(또는 화이트보드)에 풀어보기 <- 문서 편집기 활용 연습 <- 온라인 코딩 사이트 활용 연습
- 주어진 문제를 끝까지/지속적으로 모든 수단과 방법을 찾아 해결하려고 하는 자세
- 정 생각해보다 모르겠으면 "이렇게~ 풀려고 하는데, 아주 좋은 방법은 아닌 것 같아서요. 혹시 힌트 좀 주실 수 있나요?" 여쭤보기 vs 힌트도 안 물어보고 그냥 포기
- 문제 해결을 위해 어떤 시도를 하고, 얼마나 치열하게 고민하는지 평가
1.2.
1.3. 문제 리뷰하기
- 알고리즘의 (시간/공간)효율성/복잡도
- 코드 제대로 작성하기, 좋은 코드 작성
- 요구사항 정확하게 지키기
- 명명 규칙 제대로 따르기 -> 클래스명, 메서드 및 변수명, 상수 이름 등
- 메서드나 변수 이름만 보면 무슨 역할을 하는지 알 수 있음
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 |