[우테코] 레벨로그: 레벨1 인터뷰를 준비하며

2023. 3. 29. 15:34· 우아한테크코스5기
반응형

 

⭐ 레벨1 인터뷰를 준비하며

 

드디어 약 두 달 간의 우테코 레벨1 생활을 마치고, 오늘 이리내, 오잉, 제나와 만나서 인터뷰를 준비하고 있다.
그동안 학습한 내용들을 바탕으로, 짧게 키워드를 정리해 보았다.
키워드에 대해 질문하고 싶은 것이 있다면 댓글로 남겨주세요!

 

 

 

💋 자동차 경주 미션

✔ 페어 프로그래밍

  • 페어 프로그래밍은 페어와 함께 설계와 구현의 모든 과정을 진행하는 방식이다.
  • 페어 프로그래밍을 통해 생산성이 향상되는 경우가 많다고 한다.

✔ 단위 테스트

  • 단위테스트는 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 것이다.

✔ 네이밍의 중요성

  • 네이밍은 너무 짧아도 좋지 않다. 정확하게 역할을 설명하는 이름을 지어주는 것이 좋다.
  • 이름을 통해서 의도를 드러내는 것이 좋다.

✔ 원시값 포장

  • 원시 타입을 사용해 객체의 의미를 나타내지 않고, 의미있는 객체를 포장하는 것이다.
  • 객체 내부에서 유효성 검사, 동등성 검사, 불변 등을 관리할 수 있다.
  • 더 안정적이고 명확한 도메인을 만들 수 있다.

✔ 랜덤한 요소에 대한 테스트

  • Random한 요소가 섞여 있으면 코드를 테스트하기 어렵다.
  • 코드에서 랜덤한 요소와 랜덤하지 않은 부분을 분리한 후, 랜덤한 요소를 인터페이스를 사용해 구현하면 테스트하기 좋은 코드를 만들 수 있다.

 

 

 

💋 사다리 게임 미션

✔ 테스트 코드는 도메인의 설명서이다.

  • 많은 사람들은 프로덕션을 이해하기 위해 테스트 코드를 사용한다.
  • 따라서 @DisplayName은 적어주는 것이 좋으며, 네이밍은 최대한 일관성을 지키는 것이 좋다.

✔ TDD

  • TDD를 통해 도메인에 대한 지식을 늘릴 수 있다.
  • 테스트 코드 작성, 테스트 코드 성공하게 만들기, 세부내용 리팩터링 하기 중 한 번에 한 가지에 집중할 수 있어서 몰입도가 높아진다.

 

 

 

💋 블랙잭 게임 미션

✔ 람다식은 함수형 인터페이스의 구현체이다?

  • 함수형 인터페이스를 구현하기 위해서는, 딱 한 개의 추상 메서드를 구현하면 되는데, 이 때 람다식을 사용해서 이 인터페이스를 구현하게 된다면, 아직 미설계 상태의 메서드가 람다식과 딱 1:1로 매칭이 되면서 인터페이스가 구현된 객체가 만들어지는 것이다.

✔ 테스트 코드의 맹점은 완벽하지 않은 테스트가 신뢰될 때

  • 테스트 코드를 작성하면, 코드의 세부 구현을 리팩터링해 코드 품질을 높일 때, 전체 기능에 변동사항이 없는지 곧바로 확인할 수 있다는 점에서 효과적이다.
  • 하지만 내가 작성한 테스트 코드의 케이스에 해당하지 않는 예외는 종종 발생한다.
  • 테스트 코드의 맹점은 완벽하지 않은 테스트가 신뢰될 때이다.

 

 

 

💋 체스 게임 미션

✔ 설계를 완벽히 오래 VS 설계는 간단히 구현 다이빙

  • 체스 게임을 처음 주어진 기한 안에 제출하지 못했다.
  • 앞으로는 시간을 정해두고 설계를 하는 등 설계와 구현 시간의 조화를 맞추기 위해 고민이 필요할 것 같다.

✔ 파라미터로 Optional을 받는 것은 안티패턴이다.

  • Optional은 메서드의 반환값으로만 사용하는 것이 좋다.

✔ 함수형 프로그래밍 정신을 장착해 안정적이고 예측 가능한 코드를 작성할 수 있다.

  • 메서드는 각자 자신의 input에 대해서 일정한 output을 내놓는다.
  • 하나의 메서드는 다른 객체의 필드나 메서드를 알지도, 참조하지 않는다. 따라서 외부 환경에 대해 철저히 독립적이다.
  • 외부 요인에 영향을 받지 않은 채 오로지 주어진 input을 통해서만 정해진 작업을 수행하기 때문에, 동일한 input에 대해서는 언제나 동일한 output을 반환한다. 이런 것을 순수 함수라고 한다.
반응형
저작자표시 비영리 변경금지 (새창열림)

'우아한테크코스5기' 카테고리의 다른 글

[우테코] 레벨1 글쓰기: 깃짱의 우테코 한달 생활기  (0) 2023.04.12
[우테코] 체스 미션 3, 4단계 회고: 예외 처리는 조심스럽게, 테스트 코드의 맹점, 리팩터링할 때는 기존 코드를 그대로 두면서...  (0) 2023.04.11
[우테코] 레벨1을 끝내고 답해보자(2): TDD(Test Driven Development), 자바를 잘하는 것이란?, 컴파일 예외 vs 런타임 예외, 예외의 복구/회피/무시/전환  (0) 2023.03.27
[우테코] 레벨1을 끝내고 답해보자(1): 단위 테스트, 코드 품질  (0) 2023.03.27
[우테코] 블랙잭 미션 회고: 상태 패턴 사용, abstract/final 제어자, 중복되는 내용을 필드로 놓는 것에 대해.. 등등  (2) 2023.03.24
'우아한테크코스5기' 카테고리의 다른 글
  • [우테코] 레벨1 글쓰기: 깃짱의 우테코 한달 생활기
  • [우테코] 체스 미션 3, 4단계 회고: 예외 처리는 조심스럽게, 테스트 코드의 맹점, 리팩터링할 때는 기존 코드를 그대로 두면서...
  • [우테코] 레벨1을 끝내고 답해보자(2): TDD(Test Driven Development), 자바를 잘하는 것이란?, 컴파일 예외 vs 런타임 예외, 예외의 복구/회피/무시/전환
  • [우테코] 레벨1을 끝내고 답해보자(1): 단위 테스트, 코드 품질
깃짱
깃짱
연새데학교 컴퓨터과학과 & 우아한테크코스 5기 백엔드 스타라이토 깃짱
깃짱코딩연새데학교 컴퓨터과학과 & 우아한테크코스 5기 백엔드 스타라이토 깃짱
반응형
깃짱
깃짱코딩
깃짱
전체
오늘
어제
  • 분류 전체보기 N
    • About. 깃짱
    • Weekly Momentum
      • 2024
    • PROJECT
      • AIGOYA LABS
      • Stamp Crush
      • Sunny Braille
    • 우아한테크코스5기
    • 회고+후기
    • Computer Science N
      • Operating System
      • Computer Architecture
      • Network N
      • Data Structure
      • Database
      • Algorithm
      • Automata
      • Data Privacy
      • Graphics
      • ETC
    • WEB
      • HTTP
      • Application
    • C, C++
    • JAVA N
    • Spring
      • JPA
      • MVC
    • AI
    • MySQL
    • PostgreSQL
    • DevOps
      • AWS
      • 아키텍처
    • frontend
      • HTML+CSS
    • NextJS
    • TEST
    • Industrial Engineering
    • Soft Skill
    • TIL
      • 2023
      • 2024
    • Linux
    • Git
    • IntelliJ
    • ETC
      • 日本語

블로그 메뉴

  • 홈
  • 깃허브

인기 글

최근 글

태그

  • 상속
  • 함수형프로그래밍
  • 람다와스트림
  • 레벨로그
  • Stream
  • 조합
  • 예외
  • lamda
  • 람다
  • 우아한테크코스5기
  • Java
  • 컴포지션
  • 상속과조합
  • 스트림
  • Composition
  • 우테코
  • OOP
  • 우아한테크코스
  • 우테코5기
  • TDD
hELLO · Designed By 정상우.v4.2.0
깃짱
[우테코] 레벨로그: 레벨1 인터뷰를 준비하며
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.