Skip to content

Repository files navigation

Technical Interview Guidelines for beginners

Twitter: JbeeLjyhanll

authorCONTRIBUTORSLICENSEHitCount

해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏


📝 Table of Contents



What is this?

예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request or Issue로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue에 올려주세요!

취준생 여러분의 건승을 기원합니다 👍

✨ HELP

⭐ 이 저장소는 PR 과 star 를 먹고 자랍니다.



해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.


인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.


Part 1. 전산 기초

💡 개발상식 Link

  • 객체 지향 프로그래밍이란 무엇인가?
  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • MVC 패턴이란 무엇인가?
  • Git 과 GitHub 에 대해서

💡 자료구조 Link

  • Array vs LinkedList
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST(Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • HashTable
    • hash function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크 Link

  • GET, POST 방식의 차이점
  • TCP 3-way-handshake
  • TCP 와 UDP 의 차이점
  • HTTP 와 HTTPS 의 차이점
    • HTTP 의 문제점들
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

💡 운영체제 Link

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging(요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스 Link

  • 데이터베이스
    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index
    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서
    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PrepareStatement
  • NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

추가자료


💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비
    => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

(목차로 돌아가기)




Part 2. Language

💎 Java Link

  • JVM 에 대해서 / GC 의 원리
  • Collection
  • Annotation
  • Generic
  • final
  • Overriding vs Overloading
  • Access Modifier
  • Wrapper class
  • Multi-Thread 환경에서의 개발

추가 자료


💎 JavaScript Link

  • JavaScript Event Loop
  • Hoisting
  • Closure
  • this 에 대해서
  • Promise

추가 자료

💎 Python Link

  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL 과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy 가 CPython 보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
  • Duck Typing

추가 자료


(목차로 돌아가기)




Part 3. 분야별

🔶 Front-End Link

  • 브라우저의 작동 원리
  • Document Object Model
    • Event bubbling and Capturing
    • Event delegation
  • CORS
  • 크로스 브라우징
  • 웹 성능과 관련된 Issues
  • 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
  • CSS Methodology
  • normalize.css vs reset.css

추가 자료


🔶 iOS Link

  • App Life Cycle
  • View Life Cycle
  • Delegate vs Block vs Notification
  • Memory Management
  • assign vs weak
  • Frame vs Bounds
  • 기타 질문

추가 자료


🔶 Machine Learning Link

  • Cost Function

추가 자료


(목차로 돌아가기)




그 외 좋은 자료





LICENSE

MIT

About

👦 👧 Technical-Interview guidelines written for those who started studying programming. I wish you all the best. 👾

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - study-backend/Interview_Question_for_Beginner: :boy: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: · GitHub
Skip to content

Repository files navigation

Technical Interview Guidelines for beginners

Twitter: JbeeLjyhanll

authorCONTRIBUTORSLICENSEHitCount

해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏


📝 Table of Contents



What is this?

예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request or Issue로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue에 올려주세요!

취준생 여러분의 건승을 기원합니다 👍

✨ HELP

⭐ 이 저장소는 PR 과 star 를 먹고 자랍니다.



해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.


인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.


Part 1. 전산 기초

💡 개발상식 Link

  • 객체 지향 프로그래밍이란 무엇인가?
  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • MVC 패턴이란 무엇인가?
  • Git 과 GitHub 에 대해서

💡 자료구조 Link

  • Array vs LinkedList
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST(Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • HashTable
    • hash function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크 Link

  • GET, POST 방식의 차이점
  • TCP 3-way-handshake
  • TCP 와 UDP 의 차이점
  • HTTP 와 HTTPS 의 차이점
    • HTTP 의 문제점들
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

💡 운영체제 Link

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging(요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스 Link

  • 데이터베이스
    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index
    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서
    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PrepareStatement
  • NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

추가자료


💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비
    => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

(목차로 돌아가기)




Part 2. Language

💎 Java Link

  • JVM 에 대해서 / GC 의 원리
  • Collection
  • Annotation
  • Generic
  • final
  • Overriding vs Overloading
  • Access Modifier
  • Wrapper class
  • Multi-Thread 환경에서의 개발

추가 자료


💎 JavaScript Link

  • JavaScript Event Loop
  • Hoisting
  • Closure
  • this 에 대해서
  • Promise

추가 자료

💎 Python Link

  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL 과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy 가 CPython 보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
  • Duck Typing

추가 자료


(목차로 돌아가기)




Part 3. 분야별

🔶 Front-End Link

  • 브라우저의 작동 원리
  • Document Object Model
    • Event bubbling and Capturing
    • Event delegation
  • CORS
  • 크로스 브라우징
  • 웹 성능과 관련된 Issues
  • 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
  • CSS Methodology
  • normalize.css vs reset.css

추가 자료


🔶 iOS Link

  • App Life Cycle
  • View Life Cycle
  • Delegate vs Block vs Notification
  • Memory Management
  • assign vs weak
  • Frame vs Bounds
  • 기타 질문

추가 자료


🔶 Machine Learning Link

  • Cost Function

추가 자료


(목차로 돌아가기)




그 외 좋은 자료





LICENSE

MIT

About

👦 👧 Technical-Interview guidelines written for those who started studying programming. I wish you all the best. 👾

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - study-backend/Interview_Question_for_Beginner: :boy: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: · GitHub
Skip to content

Repository files navigation

Technical Interview Guidelines for beginners

Twitter: JbeeLjyhanll

authorCONTRIBUTORSLICENSEHitCount

해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏


📝 Table of Contents



What is this?

예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request or Issue로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue에 올려주세요!

취준생 여러분의 건승을 기원합니다 👍

✨ HELP

⭐ 이 저장소는 PR 과 star 를 먹고 자랍니다.



해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.


인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.


Part 1. 전산 기초

💡 개발상식 Link

  • 객체 지향 프로그래밍이란 무엇인가?
  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • MVC 패턴이란 무엇인가?
  • Git 과 GitHub 에 대해서

💡 자료구조 Link

  • Array vs LinkedList
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST(Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • HashTable
    • hash function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크 Link

  • GET, POST 방식의 차이점
  • TCP 3-way-handshake
  • TCP 와 UDP 의 차이점
  • HTTP 와 HTTPS 의 차이점
    • HTTP 의 문제점들
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

💡 운영체제 Link

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging(요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스 Link

  • 데이터베이스
    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index
    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서
    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PrepareStatement
  • NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

추가자료


💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비
    => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

(목차로 돌아가기)




Part 2. Language

💎 Java Link

  • JVM 에 대해서 / GC 의 원리
  • Collection
  • Annotation
  • Generic
  • final
  • Overriding vs Overloading
  • Access Modifier
  • Wrapper class
  • Multi-Thread 환경에서의 개발

추가 자료


💎 JavaScript Link

  • JavaScript Event Loop
  • Hoisting
  • Closure
  • this 에 대해서
  • Promise

추가 자료

💎 Python Link

  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL 과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy 가 CPython 보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
  • Duck Typing

추가 자료


(목차로 돌아가기)




Part 3. 분야별

🔶 Front-End Link

  • 브라우저의 작동 원리
  • Document Object Model
    • Event bubbling and Capturing
    • Event delegation
  • CORS
  • 크로스 브라우징
  • 웹 성능과 관련된 Issues
  • 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
  • CSS Methodology
  • normalize.css vs reset.css

추가 자료


🔶 iOS Link

  • App Life Cycle
  • View Life Cycle
  • Delegate vs Block vs Notification
  • Memory Management
  • assign vs weak
  • Frame vs Bounds
  • 기타 질문

추가 자료


🔶 Machine Learning Link

  • Cost Function

추가 자료


(목차로 돌아가기)




그 외 좋은 자료





LICENSE

MIT

About

👦 👧 Technical-Interview guidelines written for those who started studying programming. I wish you all the best. 👾

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - study-backend/Interview_Question_for_Beginner: :boy: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: · GitHub
Skip to content

Repository files navigation

Technical Interview Guidelines for beginners

Twitter: JbeeLjyhanll

authorCONTRIBUTORSLICENSEHitCount

해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏


📝 Table of Contents



What is this?

예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request or Issue로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue에 올려주세요!

취준생 여러분의 건승을 기원합니다 👍

✨ HELP

⭐ 이 저장소는 PR 과 star 를 먹고 자랍니다.



해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.


인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.


Part 1. 전산 기초

💡 개발상식 Link

  • 객체 지향 프로그래밍이란 무엇인가?
  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • MVC 패턴이란 무엇인가?
  • Git 과 GitHub 에 대해서

💡 자료구조 Link

  • Array vs LinkedList
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST(Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • HashTable
    • hash function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크 Link

  • GET, POST 방식의 차이점
  • TCP 3-way-handshake
  • TCP 와 UDP 의 차이점
  • HTTP 와 HTTPS 의 차이점
    • HTTP 의 문제점들
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

💡 운영체제 Link

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging(요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스 Link

  • 데이터베이스
    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index
    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서
    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PrepareStatement
  • NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

추가자료


💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비
    => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

(목차로 돌아가기)




Part 2. Language

💎 Java Link

  • JVM 에 대해서 / GC 의 원리
  • Collection
  • Annotation
  • Generic
  • final
  • Overriding vs Overloading
  • Access Modifier
  • Wrapper class
  • Multi-Thread 환경에서의 개발

추가 자료


💎 JavaScript Link

  • JavaScript Event Loop
  • Hoisting
  • Closure
  • this 에 대해서
  • Promise

추가 자료

💎 Python Link

  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL 과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy 가 CPython 보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
  • Duck Typing

추가 자료


(목차로 돌아가기)




Part 3. 분야별

🔶 Front-End Link

  • 브라우저의 작동 원리
  • Document Object Model
    • Event bubbling and Capturing
    • Event delegation
  • CORS
  • 크로스 브라우징
  • 웹 성능과 관련된 Issues
  • 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
  • CSS Methodology
  • normalize.css vs reset.css

추가 자료


🔶 iOS Link

  • App Life Cycle
  • View Life Cycle
  • Delegate vs Block vs Notification
  • Memory Management
  • assign vs weak
  • Frame vs Bounds
  • 기타 질문

추가 자료


🔶 Machine Learning Link

  • Cost Function

추가 자료


(목차로 돌아가기)




그 외 좋은 자료





LICENSE

MIT

About

👦 👧 Technical-Interview guidelines written for those who started studying programming. I wish you all the best. 👾

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - study-backend/Interview_Question_for_Beginner: :boy: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: · GitHub
Skip to content

Repository files navigation

Technical Interview Guidelines for beginners

Twitter: JbeeLjyhanll

authorCONTRIBUTORSLICENSEHitCount

해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏


📝 Table of Contents



What is this?

예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request or Issue로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue에 올려주세요!

취준생 여러분의 건승을 기원합니다 👍

✨ HELP

⭐ 이 저장소는 PR 과 star 를 먹고 자랍니다.



해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.


인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.


Part 1. 전산 기초

💡 개발상식 Link

  • 객체 지향 프로그래밍이란 무엇인가?
  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • MVC 패턴이란 무엇인가?
  • Git 과 GitHub 에 대해서

💡 자료구조 Link

  • Array vs LinkedList
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST(Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • HashTable
    • hash function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크 Link

  • GET, POST 방식의 차이점
  • TCP 3-way-handshake
  • TCP 와 UDP 의 차이점
  • HTTP 와 HTTPS 의 차이점
    • HTTP 의 문제점들
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

💡 운영체제 Link

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging(요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스 Link

  • 데이터베이스
    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index
    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서
    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PrepareStatement
  • NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

추가자료


💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비
    => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

(목차로 돌아가기)




Part 2. Language

💎 Java Link

  • JVM 에 대해서 / GC 의 원리
  • Collection
  • Annotation
  • Generic
  • final
  • Overriding vs Overloading
  • Access Modifier
  • Wrapper class
  • Multi-Thread 환경에서의 개발

추가 자료


💎 JavaScript Link

  • JavaScript Event Loop
  • Hoisting
  • Closure
  • this 에 대해서
  • Promise

추가 자료

💎 Python Link

  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL 과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy 가 CPython 보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
  • Duck Typing

추가 자료


(목차로 돌아가기)




Part 3. 분야별

🔶 Front-End Link

  • 브라우저의 작동 원리
  • Document Object Model
    • Event bubbling and Capturing
    • Event delegation
  • CORS
  • 크로스 브라우징
  • 웹 성능과 관련된 Issues
  • 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
  • CSS Methodology
  • normalize.css vs reset.css

추가 자료


🔶 iOS Link

  • App Life Cycle
  • View Life Cycle
  • Delegate vs Block vs Notification
  • Memory Management
  • assign vs weak
  • Frame vs Bounds
  • 기타 질문

추가 자료


🔶 Machine Learning Link

  • Cost Function

추가 자료


(목차로 돌아가기)




그 외 좋은 자료





LICENSE

MIT

About

👦 👧 Technical-Interview guidelines written for those who started studying programming. I wish you all the best. 👾

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - study-backend/Interview_Question_for_Beginner: :boy: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: · GitHub
Skip to content

Repository files navigation

Technical Interview Guidelines for beginners

Twitter: JbeeLjyhanll

authorCONTRIBUTORSLICENSEHitCount

해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏


📝 Table of Contents



What is this?

예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request or Issue로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue에 올려주세요!

취준생 여러분의 건승을 기원합니다 👍

✨ HELP

⭐ 이 저장소는 PR 과 star 를 먹고 자랍니다.



해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.


인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.


Part 1. 전산 기초

💡 개발상식 Link

  • 객체 지향 프로그래밍이란 무엇인가?
  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • MVC 패턴이란 무엇인가?
  • Git 과 GitHub 에 대해서

💡 자료구조 Link

  • Array vs LinkedList
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST(Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • HashTable
    • hash function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크 Link

  • GET, POST 방식의 차이점
  • TCP 3-way-handshake
  • TCP 와 UDP 의 차이점
  • HTTP 와 HTTPS 의 차이점
    • HTTP 의 문제점들
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

💡 운영체제 Link

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging(요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스 Link

  • 데이터베이스
    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index
    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서
    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PrepareStatement
  • NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

추가자료


💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비
    => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

(목차로 돌아가기)




Part 2. Language

💎 Java Link

  • JVM 에 대해서 / GC 의 원리
  • Collection
  • Annotation
  • Generic
  • final
  • Overriding vs Overloading
  • Access Modifier
  • Wrapper class
  • Multi-Thread 환경에서의 개발

추가 자료


💎 JavaScript Link

  • JavaScript Event Loop
  • Hoisting
  • Closure
  • this 에 대해서
  • Promise

추가 자료

💎 Python Link

  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL 과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy 가 CPython 보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
  • Duck Typing

추가 자료


(목차로 돌아가기)




Part 3. 분야별

🔶 Front-End Link

  • 브라우저의 작동 원리
  • Document Object Model
    • Event bubbling and Capturing
    • Event delegation
  • CORS
  • 크로스 브라우징
  • 웹 성능과 관련된 Issues
  • 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
  • CSS Methodology
  • normalize.css vs reset.css

추가 자료


🔶 iOS Link

  • App Life Cycle
  • View Life Cycle
  • Delegate vs Block vs Notification
  • Memory Management
  • assign vs weak
  • Frame vs Bounds
  • 기타 질문

추가 자료


🔶 Machine Learning Link

  • Cost Function

추가 자료


(목차로 돌아가기)




그 외 좋은 자료





LICENSE

MIT

About

👦 👧 Technical-Interview guidelines written for those who started studying programming. I wish you all the best. 👾

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - study-backend/Interview_Question_for_Beginner: :boy: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: · GitHub
Skip to content

Repository files navigation

Technical Interview Guidelines for beginners

Twitter: JbeeLjyhanll

authorCONTRIBUTORSLICENSEHitCount

해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏


📝 Table of Contents



What is this?

예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request or Issue로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue에 올려주세요!

취준생 여러분의 건승을 기원합니다 👍

✨ HELP

⭐ 이 저장소는 PR 과 star 를 먹고 자랍니다.



해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.


인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.


Part 1. 전산 기초

💡 개발상식 Link

  • 객체 지향 프로그래밍이란 무엇인가?
  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • MVC 패턴이란 무엇인가?
  • Git 과 GitHub 에 대해서

💡 자료구조 Link

  • Array vs LinkedList
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST(Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • HashTable
    • hash function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크 Link

  • GET, POST 방식의 차이점
  • TCP 3-way-handshake
  • TCP 와 UDP 의 차이점
  • HTTP 와 HTTPS 의 차이점
    • HTTP 의 문제점들
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

💡 운영체제 Link

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging(요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스 Link

  • 데이터베이스
    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index
    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서
    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PrepareStatement
  • NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

추가자료


💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비
    => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

(목차로 돌아가기)




Part 2. Language

💎 Java Link

  • JVM 에 대해서 / GC 의 원리
  • Collection
  • Annotation
  • Generic
  • final
  • Overriding vs Overloading
  • Access Modifier
  • Wrapper class
  • Multi-Thread 환경에서의 개발

추가 자료


💎 JavaScript Link

  • JavaScript Event Loop
  • Hoisting
  • Closure
  • this 에 대해서
  • Promise

추가 자료

💎 Python Link

  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL 과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy 가 CPython 보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
  • Duck Typing

추가 자료


(목차로 돌아가기)




Part 3. 분야별

🔶 Front-End Link

  • 브라우저의 작동 원리
  • Document Object Model
    • Event bubbling and Capturing
    • Event delegation
  • CORS
  • 크로스 브라우징
  • 웹 성능과 관련된 Issues
  • 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
  • CSS Methodology
  • normalize.css vs reset.css

추가 자료


🔶 iOS Link

  • App Life Cycle
  • View Life Cycle
  • Delegate vs Block vs Notification
  • Memory Management
  • assign vs weak
  • Frame vs Bounds
  • 기타 질문

추가 자료


🔶 Machine Learning Link

  • Cost Function

추가 자료


(목차로 돌아가기)




그 외 좋은 자료





LICENSE

MIT

About

👦 👧 Technical-Interview guidelines written for those who started studying programming. I wish you all the best. 👾

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - study-backend/Interview_Question_for_Beginner: :boy: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: · GitHub
Skip to content

Repository files navigation

Technical Interview Guidelines for beginners

Twitter: JbeeLjyhanll

authorCONTRIBUTORSLICENSEHitCount

해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏


📝 Table of Contents



What is this?

예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request or Issue로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue에 올려주세요!

취준생 여러분의 건승을 기원합니다 👍

✨ HELP

⭐ 이 저장소는 PR 과 star 를 먹고 자랍니다.



해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.


인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.


Part 1. 전산 기초

💡 개발상식 Link

  • 객체 지향 프로그래밍이란 무엇인가?
  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • MVC 패턴이란 무엇인가?
  • Git 과 GitHub 에 대해서

💡 자료구조 Link

  • Array vs LinkedList
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST(Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • HashTable
    • hash function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크 Link

  • GET, POST 방식의 차이점
  • TCP 3-way-handshake
  • TCP 와 UDP 의 차이점
  • HTTP 와 HTTPS 의 차이점
    • HTTP 의 문제점들
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

💡 운영체제 Link

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging(요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스 Link

  • 데이터베이스
    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index
    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서
    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction
    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PrepareStatement
  • NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

추가자료


💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비
    => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

(목차로 돌아가기)




Part 2. Language

💎 Java Link

  • JVM 에 대해서 / GC 의 원리
  • Collection
  • Annotation
  • Generic
  • final
  • Overriding vs Overloading
  • Access Modifier
  • Wrapper class
  • Multi-Thread 환경에서의 개발

추가 자료


💎 JavaScript Link

  • JavaScript Event Loop
  • Hoisting
  • Closure
  • this 에 대해서
  • Promise

추가 자료

💎 Python Link

  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL 과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy 가 CPython 보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
  • Duck Typing

추가 자료


(목차로 돌아가기)




Part 3. 분야별

🔶 Front-End Link

  • 브라우저의 작동 원리
  • Document Object Model
    • Event bubbling and Capturing
    • Event delegation
  • CORS
  • 크로스 브라우징
  • 웹 성능과 관련된 Issues
  • 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
  • CSS Methodology
  • normalize.css vs reset.css

추가 자료


🔶 iOS Link

  • App Life Cycle
  • View Life Cycle
  • Delegate vs Block vs Notification
  • Memory Management
  • assign vs weak
  • Frame vs Bounds
  • 기타 질문

추가 자료


🔶 Machine Learning Link

  • Cost Function

추가 자료


(목차로 돌아가기)




그 외 좋은 자료





LICENSE

MIT

About

👦 👧 Technical-Interview guidelines written for those who started studying programming. I wish you all the best. 👾

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors