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을 통해 협업하기
