본문 바로가기

프로그래머스 풀스택 데브코스/데브코스 TIL

웹 풀사이클 데브코스 TIL 28일차

1분 자기소개

  • 프로젝트 개요 3~5줄로 줄여서 말하기
  • 장점 3가지를 나열하면 된다. 장점의 근거는 프로젝로 든다. 프로젝트는 2개 이상을 추천. 많아도 4~5개 이하로.
  • 자기소개를 통해 면접 방향을 바꿀 수 있다.

틀리면 안되는 진짜 면접 질문

DB

  • ERD: 연관관계, 자료형, 정규화(테이블을 왜 그렇게 쪼갰는지)

  • 자바스크립트는 00 언어이다? -> 프로토타입, 객체, 함수, 동작, 멀티 패러다임, 컴포넌트. 어떤걸 선택하던 우리의 코드와 결이 맞아야 한다!
  • RESTful 하다? -> REST API에 대하여

패키지 구조:

  • 대기업 쪽에서 관심이 많음
  • 패키지구조를 왜 그렇게 짰는가를 물어본다.
  • DDD: 도메인 주도 개발 (소프트웨어 공학 CS)
  • 도메인: 쇼핑몰 예시) 회원 서비스, 구매 서비스, 결제 서비스

클린코드

  • 클린코드는 무조건 정답이 아니다! 절대적으로 정답이라고 말하면 큰일난다.
  • 공격질문1: 이 책이 정답이라고 생각하시나요?
  • 정답: 중복 없는 코드(리팩토링, 모듈화), 가독성 좋은 코드(네이밍, 기능 단위 함수), 이해하기 좋은 코드
  • 공격질문2: 여러분들에게 클린코드는 어떤 코드인가요?

네이밍

  • 메소드는 동사
  • 약어를 사용하지 않음
  • 보편단어 사용하지 않음 result, sum, tmp, returnValue, value
  • 만약 이름이 너무 길어진다면? 용도마다 다를 수 있다.

리팩토링

  • 새로운 기능 추가 전!
  • 안정성, 가독성, 이해도 등등이 이유이다.
  • 에러를 찾을 때/ 잡을 때
  • 시니어 분들이 많이 하시는 말씀

TDD

테스트 주도 개발.
단위/통합 테스트 코드 먼저 짜고 => 테스트 코드를 실패를 낸다. 그 다음 그 테스트를 하나씩 성공으로 만들어가는 것
찬성: 모든 테스트 케이스 고려 -> 에러 최소화, 어차피 테스트 케이스는 짤것임
반대: 테스트 언제 다 짜는가? 시간 오래걸림(비용), 현실적으로 모든 테스트 케이스를 커버할 수 없음

PT 면접

문제: setName("홍길동"); // 이름 설정
로직: name이 null 값(undefined) 이면 "홍길동" 이름 설정한다.

정답: 로직을 existName / setName으로 나눈다.

사이드 프로젝트 프론트엔드 백엔드 어떻게 준비?

  • 프론트: 날씨 API 등의 외부 API를 써보는것
  • 백엔드: 화면 안만들고, API 명세 + README
  • 2주~ 한달 기간으로

CS 봐야할 것

  • OS: 컴파일러, 메모리, 우선순위 프로세스, 스레드
  • 네트워크: http, dns, 계층, tcp/ip
  • Al/Ds: 리스트(스택, 큐..), 맵(해시..)
  • 컴퓨터구조: 잘 안물어봄
  • 디비: Q1. 외래키는 무조건 다른 테이블의 PK 여야 하나
      Q2. 디비 트랜잭션 사용하는 상황
  • 소공: 애자일/폭포수, CI/CD, 클라우드 환경, 개발 방법론(DDD..), 객체지향

후기

오늘은 라이브 수업으로 취업에 관련된 강의를 들었다. 면접이나 프로젝트 준비 CS 준비해야할 것등의 다양한 부분에서 정보를 얻을 수 있었다.

키워드: 프로그래머스 데브코스, 국비지원교육, 코딩부트캠프