Skip to content

backtony/Backend_Interview_for_Beginner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0991155 · Oct 31, 2024

History

67 Commits
Oct 31, 2024
Oct 23, 2024
Aug 1, 2024
Aug 11, 2024
Oct 8, 2024
Oct 23, 2024
Oct 8, 2024
Aug 9, 2024
Oct 23, 2024
Aug 11, 2024
Oct 23, 2024
Aug 21, 2024
Aug 21, 2024
Aug 17, 2024
Sep 2, 2024

Repository files navigation


Backend Tech Interview

이곳은 신입 개발자로 취업을 준비하면서 공부했던 지식을 정리하는 공간입니다.
지식의 확장을 넘어서 기술 면접을 준비함에 있어서 도움이 되기를 바랍니다.
이 곳은 개인적인 공간이 아닌 여러분들과 함께 채워나갈 수 있기에,
issue와 Pull Request를 통해 이 레퍼지토리의 컨트리뷰터가 되어주세요.
내용이 마음에 들거나 유용하다면 Star를 한번씩 눌러주시면 감사하겠습니다. 🙏

📌 2022 상반기 네이버 웹툰 신입 공채 합격 회고


📝 Table of Contents


💡 Java Link

  • Java 장단점
  • Kotlin 장단점
  • 코루틴 CPS 패턴
  • OOP(객체 지향 프로그래밍) 특징
  • SOLID 원칙
  • JVM 실행과정
  • JVM 구조
  • 가비지 컬렉터
  • 접근 제한자
  • String vs Char
  • ==과 equals
  • 데이터 타입
  • Call By Value와 Call By Reference
  • hashcode
  • Wrapper class
  • 박싱, 언방식
  • non-static vs static
  • main이 static인 이유
  • final vs finally vs finalize
  • try with resources
  • 제네릭
  • 직렬화와 역직렬화
  • 오버로딩, 오버라이딩
  • 추상 클래스와 인터페이스 차이
  • Error, Exception
  • Checked Exception, Unchecked Exception
  • Java Collections
  • String, StringBuilder, StringBuffer
  • Blocking vs Non-Blocking
  • Sync vs Async
  • 리플렉션
  • Stream
  • Fork Join Pool
  • 람다식
  • Optional
  • 자바8 추가된 내용
  • 함수형 프로그래밍
  • 멀티스레드 프로그래밍
  • Java 동기화 방식

💡 Spring & JPA Link

  • 세션과 쿠키
  • 프레임워크와 라이브러리
  • Spring 정의 및 장점
  • DI (Dependency Injection)
    • 주입 방식
  • IoC
  • 스프링 컨테이너
  • Bean 정의
    • 생명주기
    • 스코프
  • Spring Annotation
  • 웹 서버와 웹 애플리케이션 서버
  • 서블릿
  • 서블릿 컨테이너
  • MVC 패턴
  • AOP(Aspect Oriented Programming)
  • AOP 적용 시점
  • AOP 적용 방식
  • JDK 동적 프록시 vs CGLIB
  • DAO, DTO, VO
  • Filter vs Interceptor
  • AOP vs Interceptor
  • 레이어드 아키텍처
  • OSIV
  • 커넥션 풀
  • DataSource
  • 트랜잭션을 추상화하는 이유
  • 트랜잭션 동기화 매니저
  • @Transactional 동작 방식
  • Propagation 전파단계
  • ORM
  • 영속성 컨텍스트
  • N+1 문제
  • fetch join 한계
    • OneToMany fetch join 페이징 쿼리 성능 이슈
    • MultipleBagFetchException
  • OneToOne 양방향 관계 Lazy 로딩 주의
  • 상속관계 매핑
  • QueryDsl을 사용하는 이유
  • Spring batch
  • MSA vs Monolithic(모놀리식)

💡 Database Link

  • 트랜잭션
  • 트랜잭션 ACID
  • 트랜잭션 격리수준
  • Commit
  • Rollback
  • 갱신 분실 문제
  • Locking
  • 스토리지 엔진 락
  • MVCC(다중 버전 동시성 제어)과 락
  • 조인
  • DDL, DML, DCL
  • 힌트
  • 인덱스
    • Cluster 인덱스
    • Non-Cluster 인덱스
    • 멀티 인덱스
    • 커버링 인덱스
    • B 트리
  • 정규화, 반정규화
  • 커넥션 풀
  • 관계형 DB vs NoSQL
  • 클러스터링
  • 레플리케이션
  • 수직 파티셔닝
  • 샤딩(수평 파티셔닝)
  • SQL Injection
  • 대용량 테이블 고려
  • Statement, PreparedStatement
  • Redis, Memcached
  • Elastic search

💡 Network Link

  • OSI 7계층
  • DNS
  • www.google.com에 접속할 때 일어나는 일
  • 4 way-hand shaking
  • 포트와 소켓
  • CIDR(사이더)
  • 서브넷
  • TCP, UDP
  • HTTP, HTTPS
  • HTTP 1.0 vs HTTP 1.1 vs HTTP 2.0
  • HTTP Method
  • HTTP Code
  • CORS
  • REST API
  • 쿠키, 세션
  • JWT
  • OAuth
  • WebSocket과 Socket.io
  • 중간자 공격
  • CSRF

💡 Operating System Link

  • 커널
  • 메모리구조
  • 스택과 힙의 차이점
  • 힙영역을 크게 잡으면 안되는 이유
  • 프로세스와 스레드
  • 멀티 스레드 vs 멀티 프로세스
  • 크롬 탭은 프로세스인지 쓰레드인지
  • 스레드마다 스택을 독립적으로 할당하는 이유
  • 스레드마다 PC 레지스터를 독립적으로 할당하는 이유
  • 컨텍스트 스위칭
  • 프로세스 종류
  • Deadlock
  • Critical Section(임계영역)
  • 경쟁 상태(Race Condition)
  • 사용자 모드와 커널 모드
  • 커널 수준, 사용자 수준 스레드
  • CPU Scheduling
  • 인터럽트
  • 시스템 콜
  • 메모리 관리 전략
  • 가상 메모리
  • Trashing
  • 캐시의 지역성

💡 Algorithm & SQL Link

  • 코딩 테스트에서 사용하는 파이썬 API
  • 코딩 테스트에서 사용하는 파이썬 정규식
  • 코딩 테스트에서 사용하는 자바 API
  • 프로그래머스 알고리즘
  • 리트코드 알고리즘
  • 프로그래머스 SQL
  • HackerRank SQL

About

CS 지식을 정리하는 공간

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published