Skip to content

new-h2/Backend_Interview_for_Beginner

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Backend Tech Interview

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

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


📝 Table of Contents


💡 Java Link

  • Python vs Java vs Kotlin
  • Java 장단점
  • OOP(객체 지향 프로그래밍) 특징
  • SOLID 원칙
  • 객체 지향 프로그래밍 vs 절차 지향 프로그래밍
  • 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 8 -> Java 11
  • 함수형 프로그래밍
  • 멀티스레드 프로그래밍
  • Java 동기화 방식
  • Synchronized와 Lock & Condition 동기화
  • Atomic 동기화

💡 Spring & JPA Link

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

💡 Database Link

  • DBMS
  • 스키마
  • 트랜잭션 ACID
  • 트랜잭션 격리수준
  • Commit
  • Rollback
  • Locking
  • 갱신 분실 문제
  • 조인
  • 트리거
  • 힌트
  • 인덱스
    • Cluster 인덱스
    • Non-Cluster 인덱스
    • 멀티 인덱스
    • B 트리
  • 정규화, 반정규화
  • 커넥션 풀
  • 관계형 DB vs NoSQL
  • Redis, MongoDB, Memcached
  • Elastic search
  • 클러스터링
  • 레플리케이션
  • 수직 파티셔닝
  • 샤딩(수평 파티셔닝)
  • SQL Injection
  • 행의 개수가 많은 테이블 설계
  • Statement, PreparedStatement
  • RabbitMQ와 Kafka

💡 Network Link

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

💡 Operating System Link

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

💡 Algorithm & SQL Link

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

About

신입 개발자로서 지식을 정리했던 공간

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published