tech interview for developer

JAVA源码 2025-07-29

tech-interview-for-developer



?? 신입 개발자 전공 지식 & 기술 면접 백과사전


Collaborator


Commit convention rule : 날짜-[주제]-내용-상태

ex) 2019-10-14 [Algorithm] Sort Add/Update/Delete


잘못된 내용은 이슈와 PR로 알려주세요


도움을 주신 분들


?후원하기?



⏩ ⏩ ⏩ 웹 사이트에서 편하게 공부하세요! Click! ⏪ ⏪ ⏪




??‍? 기술 면접 감 잡기 ??‍?



? Computer Science

  • Computer Architecture

    • 컴퓨터 구조 기초
    • 컴퓨터의 구성
    • 중앙처리장치(CPU) 작동 원리
    • 캐시 메모리
    • 고정 소수점 & 부동 소수점
    • 패리티 비트 & 해밍 코드
    • ARM 프로세서

  • Data Structure

    • Array
    • LinkedList
    • Array & ArrayList & LinkedList
    • 스택(Stack) & 큐(Queue)
    • 힙(Heap)
    • 트리(Tree)
    • 이진탐색트리(Binary Search Tree)
    • 해시(Hash)
    • 트라이(Trie)
    • B-Tree & B+Tree

  • Database

    • 키(Key) 정리
    • SQL - JOIN
    • SQL Injection
    • SQL vs NoSQL
    • 정규화(Normalization)
    • 이상(Anomaly)
    • 인덱스(INDEX)
    • 트랜잭션(Transaction)
    • 트랜잭션 격리 수준(Transaction Isolation Level)
    • 저장 프로시저(Stored PROCEDURE)
    • 레디스(Redis)

  • Network

    • OSI 7 계층
    • TCP 3 way handshake & 4 way handshake
    • TCP/IP 흐름제어 & 혼잡제어
    • UDP
    • 대칭키 & 공개키
    • HTTP & HTTPS
    • TLS/SSL handshake
    • 로드 밸런싱(Load Balancing)
    • Blocking,Non-blocking & Synchronous,Asynchronous
    • Blocking & Non-Blocking I/O

  • Operating System

    • 운영체제란
    • 프로세스 vs 스레드
    • 프로세스 주소 공간
    • 인터럽트(Interrupt)
    • 시스템 콜(System Call)
    • PCB와 Context Switching
    • IPC(Inter Process Communication)
    • CPU 스케줄링
    • 데드락(DeadLock)
    • Race Condition
    • 세마포어(Semaphore) & 뮤텍스(Mutex)
    • 페이징 & 세그먼테이션 (PDF)
    • 페이지 교체 알고리즘
    • 메모리(Memory)
    • 파일 시스템

  • Software Engineering

    • 클린코드 & 리팩토링 / 클린코드 & 시큐어코딩
    • TDD(Test Driven Development)
    • 애자일(Agile) 정리1 / 애자일(Agile) 정리2
    • 객체 지향 프로그래밍(Object-Oriented Programming)
    • 함수형 프로그래밍(Fuctional Programming)
    • 데브옵스(DevOps)
    • 서드 파티(3rd party)란?
    • 마이크로서비스 아키텍처(MSA)


? Algorithm

  • 거품 정렬(Bubble Sort)
  • 선택 정렬(Selection Sort)
  • 삽입 정렬(Insertion Sort)
  • 퀵 정렬(Quick Sort)
  • 병합 정렬(Merge Sort)
  • 힙 정렬(Heap Sort)
  • 기수 정렬(Radix Sort)
  • 계수 정렬(Count Sort)
  • 이분 탐색(Binary Search)
  • 해시 테이블 구현
  • DFS & BFS
  • 최장 증가 수열(LIS)
  • 최소 공통 조상(LCA)
  • 동적 계획법(Dynamic Programming)
  • 다익스트라(Dijkstra) 알고리즘
  • 비트마스크(BitMask)

  • ✏️ TEST
    • 삼성 소프트웨어 역량테스트 PRO 등급 준비

? Design Pattern

  • 디자인패턴 개요(Overview)
  • 어댑터 패턴
  • 싱글톤 패턴
  • 탬플릿 메소드 패턴
  • 팩토리 메소드 패턴
  • 옵저버 패턴
  • 스트레티지 패턴
  • 컴포지트 패턴
  • SOLID

? Interview

  • 언어(Java, C++ ... )
  • 운영체제
  • 데이터베이스
  • 네트워크
  • 웹(스프링)

? Language

  • C

    • [C] C언어 컴파일 과정
    • [C] 구조체 메모리 크기 계산
    • [C] 포인터(Pointer)
    • [C] 동적할당
  • C++

    • [C++] 얕은 복사 vs 깊은 복사
    • [C++] 가상 함수(Virtual Function)
    • [C++] 입출력 최적화하기
    • [C++] Vector Container
  • Java

    • [Java] Java 컴파일 과정
    • [Java] Call by Value vs Call by Reference
    • [Java] String & StringBuffer & StringBuilder
    • [Java] 자바 가상 머신(Java Virtual Machine)
    • [Java] Casting(업캐스팅 & 다운캐스팅)
    • [Java] 오토 박싱 & 오토언박싱
    • [Java] Thread 활용
    • [Java] 고유 락(Intrinsic Lock)
    • [Java] 문자열 클래스
    • [Java] Garbage Collection
    • [Java] Promotion & Casting
    • [Java] Primitive type & Reference type
    • [Java] 직렬화(Serialization)
    • [Java] Error & Exception
    • [Java] Stream API
    • [Java] Record
    • [Java] Interend String in Java
    • [Java] Composition
  • Javascript

    • [Javascript] ES2015+ 요약 정리
    • [Javascript] Object Prototype
    • [Javascript] Closure
  • Python

    • [Python] 매크로 사용법

? Web

  • 브라우저 동작 방법

  • 쿠키(Cookie) & 세션(Session)

  • HTTP Request Methods

  • HTTP Status Code

  • REST API

  • 웹 서버와 WAS의 차이점

  • OAuth

  • JWT(JSON Web Token)

  • Authentication and Authorization

  • 로그 레벨

  • UI와 UX

  • CSR & SSR

  • Vue.js vs React

  • 네이티브 앱 & 웹 앱 & 하이브리드 앱

  • PWA(Progressive Web App)

  • CSRF & XSS

  • Spring
    • [Spring] Bean Scope
    • [Spring] MVC Framework
    • [Spring Boot] SpringApplication
    • [Spring Boot] Test Code
    • JPA
    • [Spring Data JPA] 더티 체킹(Dirty Checking)
    • Spring Security - 인증 및 권한 부여
  • Vue.js
    • Vue.js 라이프사이클
    • Vue CLI + Spring Boot 연동하여 환경 구축하기
    • Vue.js + Firebase로 이메일 회원가입&로그인 구현하기
    • Vue.js + Firebase로 Facebook 로그인 연동하기
    • Nuxt.js란
  • React
    • React Fragment
    • React Hook
    • React + Spring Boot 연동하여 환경 구축하기
  • DevOps
    • [AWS] Spring Boot 배포 스크립트 생성
    • [Travis CI] 프로젝트 연동하기
    • 시스템 규모 확장

? Linux

  • 리눅스 기본 명령어
  • 폰 노이만 구조
  • 퍼미션 활용

? New Technology

  • AI

    • 용어 정리
    • Tensorflow로 Linear Regression 알고리즘 구현
  • Big Data

    • 데이터 분석
    • DBSCAN 클러스터링 알고리즘
  • IT Issues

    • 이메일 공격 증가로 보안업계 대응 비상(19.08.07)
    • 쿠팡 서비스 오류(19.08.08)
    • GraphQL(19.08.08)
    • SK 하이닉스의 탄생은?(19.08.08)
    • 구글, 크롬 브라우저에서 FTP 지원 중단 확정(19.08.20)
    • 2020 ICT 이슈
    • AMD와 Intel의 반백년 전쟁, 그리고 2020년의 '반도체'

? Seminar

  • 2019 NHN OPEN TALK DAY
  • 2019 삼성전자 비전캠프
  • 2019 NCSOFT JOB Cafe
  • 2019 삼성전자 오픈소스 컨퍼런스

? ETC

  • Git Commit Message Convention
  • GitHub Fork로 협업하기
  • GitHub 저장소(repository) 미러링
  • Git & GitHub & GitLab Flow
  • Javascript와 Node.js로 Git을 통해 협업하기

License


下载源码

通过命令行克隆项目:

git clone https://github.com/gyoogle/tech-interview-for-developer.git