[Section 2] 기술면접 실습

현이·2023년 4월 10일
0

백엔드 부트캠프 TIL

목록 보기
25/37
post-thumbnail

사진은 몽마르트 언덕의 사랑해 벽 - SNS에 올라온 사진으로 그냥 파리에 유명한 포토스팟이구나... 만 했는데 실제로 가보니 생각보다 작고, 생각보다 활기차고, 생각보다 운치있는 멋진 곳이었다. 몽마르트 언덕은 우리가 상상하는 옛날 파리의 모습을 가장 잘 갖고 있는 곳이 아닐까

이번 섹션에는 이해못한.. 난해했던 개념이 많았어서 기술면접을 한달내내 걱정했는데 .. 다행이도 스프링 아닌 질문도 많았다.. 그치만 확실히 개념공부 다시 해야될듯! 그리고 시간이 너무너무 짧게 나온다..
질문 하나를 받으면 그에 관련된 내용 최대한 아는거 다 말하는 연습 꼭 하기!




Q. 재귀 함수와 반복문의 차이점에 대해 설명해주세요

  • 모든 재귀 함수는 반복문으로 표현 가능
    But, <재귀 함수가 특징적으로 사용되는 상황>
    🔹 비슷한 구조,의 더 작은 문제로 나눌 수 있는 문제 상황
    🔹 반복문 중첩 多 or 반복문 중첩횟수 예측 ❌
    🔹 변수 사용 줄여서 오류 발생 가능성 낮추고 싶을 경우



Q. Stack과 Queue의 차이점에 대해 설명해주세요

  • Stack
    🔹 LIFO (후입선출)
    🔹 순서대로 데이터 쌓는 구조
    🔹 push(), pop() 으로 데이터 하나씩 넣고 뺌
    🔹 e.g. 브라우저 앞으로 가기, 뒤로 가기
  • Queue
    🔹 FIFO (선입선출)
    🔹 먼저 들어간 데이터 먼저 나오는 구조
    🔹 enqueue(), dequeue() 로 데이터 하나씩 넣고 뺌 (java는 add, pull, peek)
    🔹 데이터 입출력 방향 2가지
    🔹 e.g. 컴퓨터와 연결된 프린터 인쇄 순서, 컴퓨터 buffer



Q. 탐욕(Greedy) 알고리즘을 사용하기 위해 성립해야 하는 조건에 대해 설명해주세요

  • 그리디 알고리즘 : 선택의 순간마다 당장 최적의 상황만을 쫓아 최종 해답을 냄

    그리디 알고리즘 성립 조건
    1. 탐욕적 선택 속성 : 앞 선택이 이후의 선택에 영향을 주지 ❌
    2. 최적 부분 구조 : 최종 해결 방법이 부분 문제 최적 해결 방법으로 구성되어 있음



Q. URL과 URI의 차이점이 무엇인가요?

  • URL
    🔹 Uniform Resource Locator
    🔹 네트워크 상 웹사이트, 이미지 등의 파일이 위치한 정보 나타냄
    🔹 scheme + hosts + url-path 구조

  • URI
    🔹 Uniform Resource Identifier
    🔹 URI + query, bookmark 구조
    🔹 URL보다 상위 개념
    🔹 URL는 URI⭕, URI는 URL❌



Q. DNS의 정의와 DNS가 필요한 이유에 대해 설명해주세요

  • Domain Name System

  • 호스트 도메인 이름을 IP주소로 변환 or 반대로 변환해주는 DB 시스템

  • 모든 네트워크상 PC는 IP주소 有

  • But, 모든 IP주소가 도메인 이름 有 ❌ (localhost 제외는 다 일시 대여)

  • 대여한 도메인 이름과 IP주소 매칭해주는게 DNS



Q. Foreign Key와 Primary Key에 대해 설명해주세요

  • 기본키
    🔹 식별자 역할
    🔹 한개 이상의 필드 설정 가능
    🔹 UNIQUE, NOT NULL

  • 외래키
    🔹 두 테이블 간의 연결 설정할 때 필요
    🔹 다른 테이블의 기본 키 참조
    🔹 참조하는 기본키와 동일한 도메인 가짐
    🔹 NULL 가질 수 ⭕



Q. DI(Dependency Injection)에 대한 설명과 해당 기술의 장점에 대해 설명해주세요

  • 의존성 주입

  • 클래스 내에서 객체 새로 생성하지 않고 생성자 파라미터로 객체 전달받음

  • 객체를 new 키워드로 생성하면 클래스끼리 강하게 결합하게 되어 나중에 코드 수정할 때 일일이 모든 코드를 변경해야됨 -> 시간, 정확성 면에서 비효율적





#FEEDBACK

  • 기본키 예시로 주민등록번호 든거 ❌❌❌
    기본키에는 의미있는 정보 쓰면 안된다!!
    개념적으로는 맞지만 여튼 안됨

0개의 댓글