Giter Site home page Giter Site logo

jaeyeophan / interview_question_for_beginner Goto Github PK

View Code? Open in Web Editor NEW
18.7K 498.0 4.6K 814 KB

:boy: :girl: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader:

License: MIT License

development beginner tech-interviews awesome

interview_question_for_beginner's Introduction

Technical Interview Guidelines for Beginners

해당 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 Linked List
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST (Binary Search Tree)
  • Binary Heap
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • Hash Table
    • 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 PreparedStatement
  • 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
  • Timsort : Python의 내부 sort

추가 자료


(목차로 돌아가기)




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

interview_question_for_beginner's People

Contributors

5minho avatar alstn2468 avatar arc-jung avatar bansakdo avatar cprayer avatar ddochi93 avatar heon24500 avatar honghyeong avatar hun-a avatar ing9990 avatar jaeyeophan avatar jrhong95 avatar kimsangyeon avatar kimstacy avatar ksh-code avatar lsh424 avatar morecreativa avatar pocojang avatar prev avatar rationality6 avatar rupert-kim avatar seonggwonyoon avatar ssosso avatar sumnii avatar sungbeom avatar winterjung avatar wooongchi avatar wooooooak avatar yomni avatar yoonseongkyeong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

interview_question_for_beginner's Issues

Part 1-3 Network 부문

Description

Part 1-3 Network
해당 링크로 들어갔을 때 아래의 목차 3개는 링크이동이 안됩니다. 확인부탁드립니다.

  • HTTP 의 GET 과 POST 비교
  • TCP 와 UDP 의 비교
  • HTTP 와 HTTPS

[ Update ] Missing Language Version 😕

Description

I believe below a short list of languages that the repo readme should have. I hope you will consider my request.

  • English
  • French
  • Spanish

Thankx 🍗

[Part 3] Back-End 내용 추가

프론트엔드 내용은 있는데 백엔드 내용은 없어서 허전하네요. 😅
혹시 진행중인 분이 계신가요?
저도 시간이 나는 대로 조금이나마 추가를 해보겠습니다. 👀

카테고리 추가에 대해 건의드립니다.

실제 면접장에서 질문 받았던 기술 관련 질문들이나 나올법한 괜찮은 질문(하지만 아직Interview_Question_for_Beginner 에는 설명이 없는)들 만을 모아 놓을 카테고리를 추가하는 것은 어떻게 생각하시나요??
그렇게 된다면 컨트리뷰터들이 질문들을 보고 PR를 하기 쉽게 되고, 공부하는 입장에서는 스스로 질문들에 생각해 볼 수 있는 기회가 될 것같아서 건의드립니다ㅎㅎ

Reactjs, Vuejs 등 특정 프레임워크에 대한 인터뷰 자료 세분화

Description

프론트엔드 개발자에 대한 관심이 커지고 있음에 따라,
Reactjs, Vuejs등 특정 프레임워크에 대한 인터뷰 자료를 세분화시키면 어떨까 싶습니다.
인터넷에서 Research 한 내용이나 직접 받은 질문들을 바탕으로 인터뷰 자료를 추가하고자 하였는데,
마땅히 적을 공간이 없어 건의드립니다.

현 repository Frontend 폴더 안에 'React', 'Vue' 폴더를 추가하고 각 폴더 내 README를 작성하는건 어떻게 생각하시나요?

[Resource] 면접에서 받은 질문들

Description

저도 도움이 되고자 정말 미약하지만 면접 때 받았던 질문 들을 공유합니다..!

  1. c에서 포인터를 설명해보시오.-
  2. 자바의 인터페이스에 사용하는 메소드 및 인터페이스를 설명해보시오.
    3.유저별로 권한 설정 하는 리눅스 명령어->정답: chown
    4.이미지 불법 유출을 막기위한 방법
    5.추상화와 인터페이스의 차이
    6.chmod 에서의 777권한 설명해보시오 ->rwx 에 부여된 각각의 숫자 말하고..
    7.서버 하나의 api가 클라마다 다른 서비스를 제공하게 하는방법(질문도 이해가 잘안되고 대답도 못한 질문)
    8.자바로 짜여진 계좌메소드에서 두명이 동시에 접속해서 돈을 이체한 경우 나오는 결과값과 이를 방지하기위한 방법은 무엇인가. -> os mutex및 lock밖에 생각이 안나서 이렇게 답변하였으나 운영체제에서 나오는 개념을 말하는 것은 아니라고 하심
    --
    [간단한 코딩 문제]
  3. 문자열이 있을 때 모음(a,e,i,o,u) 만 거꾸로 해서 출력하기.ex) foate-> feato
    2.숫자를 순서대로 출력하는데 ㄹ모양으로 출력하기

이미 많이 나오는 면접 질문이지만 혹시나해서 면접 때 생각나는 질문들을 몇개 적어보았습니다 ㅜㅜ

자료구조(Array vs Linked) 관련하여 질문을 드리고자합니다.

This issue is...

  • Edit typos or links
  • Inaccurate information
  • New Resources
  • Suggestions
  • Questions
  • Enhancement
  • Comments

Description

  /*** Returns the (non-null) Node at the specified element index.*/
  Node<E> node(int index) {
    // assert isElementIndex(index);
    if (index < (size >> 1)) {
      Node<E> x = first;
      for (int i = 0; i < index; i++)
          x = x.next;
      return x;
    } else {
      Node<E> x = last;
      for (int i = size - 1; i > index; i--)
          x = x.prev;
      return x;
    }
  }

Java LinkedList 코드를 보면 삭제/삽입 전 해당 인덱스를 탐색하기 위해 Binary search와 같은 중간 값을 기준으로 탐색을 합니다. 즉, 이는 시간 복잡도가 O(n)이 아닌 O(Log N)을 갖는 것이 더 적합한 의견이 아닐까 생각하는데, 어떻게 생각하는지 알고싶습니다.
그리고 좋은 글 감사합니다.

Python 관련 자료 추가

This issue is...

  • Edit typos or links
  • Inaccurate information
  • New Resources
  • Suggestions
  • Questions
  • Enhancement
  • Comments

Description

Python에 관련된 정보를 추가하고자 합니다. 일단 처음에는 raccoonyy님의 이직기에 나온 질문을 토대로 정리하겠습니다. Django는 제가 깊게 써보지 않아서 많은 정보를 기재할 수 없을 것 같습니다. 다른 분들의 기여도 언제나 환영합니다.

파이썬 일반
  • Generator
  • 클래스를 상속했을 때 메서드 실행 방식
  • GIL과 그로인한 성능 문제
  • GC 작동 방식
  • Celery
  • PyPy가 CPython보다 빠른 이유
  • 메모리 누수가 발생할 수 있는 경우
Django
  • 어떤 request가 Django API까지 도달하는 과정
  • Django ORM의 작동 방식
  • Django ORM 지연 평가 구현 방식

[python] duck typing

Description

  • Python 섹션 에 duck typing에 대한 내용 추가.
  • 면접 때 dynamically-typed languages에 대해서 다룰 때 꼭 한번씩 등장하는 개념인 것 같습니다. (실제 질문 받은 경험 있음)
  • 해당 이슈에 대한 PR도 올리겠습니다! :)

디자인 패턴 글에 조금 더 설명이 있었으면 좋겠습니다.

Description

모든 글을 처음 부터 쭉 훑어 보았습니다.
대부분의 포스트가 잘 정리되어 있더군요. 많은 도움이 됐습니다.

하지만 디자인 패턴에 대해서는 내용을 조금 더 추가하는게 되었으면 좋겠다고 생각합니다.
Singleton 패턴에 대해서만 정리 되어있지만 더 나아가 내부 static 키워드를 사용하여 만든 Singleton, Enum Singleton 등 다양하게 생성할 수 있는 방법이 있습니다.
또한 가장 많이 쓰이는 MVC, MVP, MVVM에 대한 정리와 그 외에 패턴에 대한 짧은 설명이 추가 되면 좋을것 같습니다.

[Resource] 면접에서 받았던 질문들

해당 이슈의 comment에 면접에서 받았던 질문들을 간단히 작성해주시면 됩니다. 작은 경험일지라도 다른 분들께는 큰 힘이 될 수 있습니다! 기회가 되신다면 질문에 대한 대답을 해당 Repository의 Category에 맞게 Pull Request를 올려주세요! 😈

운영체제 파트에서 Semaphores의 단점으로 제시된 busy waiting에 대해 더 많은 정보가 필요한 것 같습니다.

Description

현재 Semaphores의 단점으로 busy waiting이 제시되었는데, 일반적인 Semaphores은 critical section에 진입 시도했지만 실패한 프로세스를 block시키기 때문에 busy waiting 문제는 생기지 않습니다.

대신 block시키고, 다시 불러오는 과정에서 overhead가 큰 경우에 차라리 그냥 block시키지 않고 그대로 진입 코드를 매번 실행시키도록 하는 spinning lock이 사용될 수 있고, 이 때 매번 진입 코드를 실행시키는 것을 busy waiting이라고 말합니다. 본문에서 말씀해주신대로 순수하게 낭비하는 시간이기 때문에 deprecated되었지만 critical section이 매우 자주 발생하거나, 짧은 경우, busy waiting이 blocking보다 높은 성능을 보장할 수 있기 때문에 상황에 따라 채택할 수 있는 방법입니다.

본문의 기존 설명에는 semaphores가 기본적으로 busy waiting을 하는 것을 가정하고 있지만, busy waiting을 하는 semaphores는 spin lock으로 불리며 특수한 case입니다(초기 버전). 현재 쓰이는 semaphore은 기본적으로 blocking하는 것이 일반적이므로 본문의 단점 사례를 바꿔서 오해를 방지하는 것이 좋을 것 같습니다.

대안 제시

단점
Busy Waiting(바쁜 대기)
Critical Section 에 진입해야하는 프로세스는 진입 코드를 계속 반복 실행해야 하며, CPU 시간을 낭비하게 된다.

단점
Busy Waiting(바쁜 대기)
Spin lock이라고 불리는 Semaphore 초기 버전에서 Critical Section 에 진입해야하는 프로세스는 진입 코드를 계속 반복 실행해야 하며, CPU 시간을 낭비했었다. 이를 Busy Waiting이라고 부르며, Critical Section이 짧으면서 자주 발생해서 Context Change 오버헤드가 더 클 때가 아니면 비효율적이다.
일반적으로는 Critical Section에 진입을 시도했지만 실패한 프로세스에 대해 Block시킨 뒤, Critical Section에 자리가 날 때 다시 깨우는 방식을 Semaphore에서 사용한다. 이 경우에는 Busy waiting으로 인한 시간낭비 문제가 해결된다.

좋은 정보 모아주셔서 정말 감사합니다. 많은 도움 되었습니다.

Reference

https://en.wikibooks.org/wiki/Operating_System_Design/Processes/Semaphores
https://ko.wikipedia.org/wiki/%EC%84%B8%EB%A7%88%ED%8F%AC%EC%96%B4
https://en.wikipedia.org/wiki/Spinlock
https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%95%80%EB%9D%BD

API

Description

이 부분을 suggestion에 넣어야 되나 했었는데 자료 추가에 대한 요청이라 여기다 올립니다!
API 부분에서 바로 Restful API부터 나와있던데, 추가했으면 하는 것들은

-API가 정확히 무엇인가?
-API 종류
-기업들의 API를 찾아보거나 프로젝트를 하면서 이용해본 적이 있는가?

마지막 부분은 면접관분들이 API 관련 질문들을 던진다면 왠지 이럴 거 같아서 집어넣어봤습니다!

데이터베이스파트 마지막

데이터베이스 부분 마지막에

PreparedStatement에는 보통 변수를 설정하고 바인딩하는 static sql이 사용되고 Statement에서는 쿼리 자체에 조건이 들어가는 dynamic sql이 사용된다.

라고 적혀있고 출처 링크를 들어가보면 Statement에 정적 sql이 실행된다고 적혀있는데 제가 이해를 못하고있는건지 궁금합니다

[Part 3] SQL 관련 기초를 추가하는건 어떨까요?

Description

데이터베이스 전산 기초에 대한 지식은 이론적인 부분으로 암기하고 있다면 매우 좋으나
실 개발환경에서 SQL을 활용한 업무 진행이 많기 때문에 기본적인 SELECT, JOIN과 종류, 기능
등에 대해 정리하면 좋을 것 같습니다.
괜찮으시다면 제가 정리를 해서 PR을 드리려고 하는데 어떠신지요?

[part3] Observer pattern 정리

This issue is...

  • Edit typos or links
  • Inaccurate information
  • New Resources
  • Suggestions
  • Questions

Description

  • 프론트엔드 분야에서 가장 많이 사용되고 중요한 Observer 패턴에 대해 정리한다.

Back-End 설명 추가

Description

#issue98 관련해서 진행 중인 작업이 있을까요??
혹시 백엔드 개발자 면접에서 받았던 질문과 답변 관련해서 정리해서 올려도 될까요?

기본 상식 목록 중 이상한 부분

This issue is...

  • Edit typos or links
  • Inaccurate information
  • New Resources
  • Suggestions
  • Questions
  • Enhancement
  • Comments

Description

전산 기초 섹션의 상식에 다음과 같은 리스트가 있는데 반드시 알아야 하는 내용은 아닌 것 같고, 다른 섹션으로 옮기는 것이 더 바람직 하지 않나요?

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

각 section에 대한 reference 추가

This issue is...

  • Edit typos or links
  • Inaccurate information
  • New Resources
  • Suggestions
  • Questions
  • Enhancement
  • Comments

Description

각 part 및 section을 구성하고 있는 정보의 출처를 표시한다.

ArrayList와 RBT에 대해서 잘못된 부분이 있는 듯 싶습니다.

Description

Java Collection 에서 ArrayList 도 내부적으로 RBT 로 이루어져 있고 (X)
아닙니다. ArrayList는 내부적으로 동적 배열로 이루어져 있습니다.
확장이 일어날 때 1.5배율로 확장이 됩니다.

간단한 Dynamic array에 대한 튜토리얼 및 레퍼런스입니다.
https://www.geeksforgeeks.org/how-do-dynamic-arrays-work/
https://en.wikipedia.org/wiki/Dynamic_array

Capacity와 size의 차이점, growth rate는 동적 배열을 설명할 때 매우 중요한 키워드이기 때문에
만약에 정리하신다면 이 둘도 언급하시면 좋을 듯 싶습니다. 감사합니다.

ISSUE_TEMPLATE Label에 따라 세분화시키기

GitHub에서 새로 제공하는 기능인 각 상황에 따른 ISSUE_TEMPLATE 기능을 적용한다!

Description

1. Create ISSUE_TEMPLATE directory

기존에는 ISSUE_TEMPLATE.md로 작성해줬던 템플릿이 directory내 md 파일로 변경된다.

2. Seperate issue category

issue의 종류에 따라 template을 세분화 한다.

3. Create .md file about each template.

issue의 종류에 따라 만든 template을 각각의 마크다운 파일(md)로 만들어준다.

4. Write format like this:

마크다운 파일은 아래 포맷을 따라서 만들어준다.

---
name: _______
about: _______
---

(TEMPLATE...)

5. commit and push to repository

커밋하고 푸시하면 끝!


Detail

🐛 Bug report

오타 또는 잘못된 링크를 수정 🛠️.

🎁 New Resources

새로운 자료 추가 🚀

📝 Suggestions

해당 Repository에 건의하고 싶은 사항 👍

❓Questions

해당 Repository에 대한 질문 ❔

🌈 Enhancement

해당 Repository의 개선 사항 🎉

💬 Comments

기타 다른 comment 😃

JavaScript Functional Programming Concept

This issue is...

  • Edit typos or links
  • Inaccurate information
  • New Resources
  • Suggestions
  • Questions
  • Enhancement
  • Comments

Description

  • [Part 2] JavaScript Functional Programming Concept

TDD 부분 오타 관련입니다.

Description

큰 부분은 아니지만
의문점들 부분에서
Q.테스트 코드를 작성하기가 쉬운가? 글의
맞는지 둥 -> 맞는지 등으로 수정해야 할 거 같습니다!

OS 영어 오타 수정 (throughtput -> throughput)

Description

OS 부분의 '멀티 쓰레딩의 장점' 섹션을 읽다가 영어단어 오타가 있어서 올립니다.
처리량을 뜻하는 throughput의 중간엔 t가 붙지 않는 것 같습니다.

수정 전

멀티 스레딩의 장점

...따라서 시스템의 throughtput 이 향상되고...

수정 후

멀티 스레딩의 장점

...따라서 시스템의 throughput 이 향상되고...

호이스팅에 대한 잘못된 설명

JavaScript 문서 에서 호이스팅을 설명하는 대목에, 이런 설명이 달려 있습니다.

foo( );
var foo = function( ) {
  console.log('hello');
};
// console> Syntax Error

이 두번째 예제의 함수 표현은 함수 리터럴을 할당하는 구조이기 때문에 호이스팅 되지 않으며 그렇기 때문에 Syntax Error를 발생시킨다.

대상의 호출 가능 여부는 런타임에 와서야 알 수 있기 때문에 SyntaxError가 발생할 수 없으며, 실제로 발생하는 오류도 TypeError 입니다.

References

ECMA-262 9th edition: 12.3.4.2 Runtime Semantics: EvaluateCall

Uu u u 6

DescriptionI I 8********

⁸8****************

declarative programming is really reactive programming?

Description

이 글을 보면 reactive programming는 declarative programming으로도 불린다고 적혀 있습니다. 그러나 조금 다른 개념입니다. reactive programming은 declarative programming이 맞습니다. 그러나 모든 declarative programming가 reactive programming은 아닙니다.

HOW TO CONTRIBUTE

HOW TO CONTRIBUTE

여러 가지 방법으로 해당 Repository에 참여하실 수 있습니다 :)

  1. 등록되어 있는 Issue에 대해 assign을 요청하시고 진행한 작업에 대해 PR을 올려주세요!
  2. 추가되었으면 좋겠는 정보들에 대해서 Issue로 등록해주세요!
  3. 자료를 보시다가 잘못된 링크나 오타가 존재하면 수정하여 PR을 올려주세요!

+1: PR을 올려주실 때, labels를 참고하셔서 알맞은 제목을 함께 올려주세요! 형식은 Template이 모두 준비되어 있으니 그에 맞게 작성해주시면 됩니다!
+2: Commit Message는 Update라고만 해주셔도 되고, 원하시는 메세지를 적어주시면 됩니다.
+3: New resource의 경우 참고하신 reference 링크를 함께 올려주시면 더 좋은 PR이 될 것 같습니다.

markdown style format 정리

This issue is...

  • Edit typos or links
  • Inaccurate information
  • New Resources
  • Suggestions
  • Questions
  • Comments

Description

  • markdownlint를 고려하자니 해당 repo markdown style이 너무 customize되서 오히려 역효과가 날 듯하다.
  • 따라서 별도의 스타일 가이드 정도를 정리해보는 것은 어떨까

Technical interview

This issue is...

  • Edit typos or links
  • Inaccurate information
  • New Resources
  • Suggestions
  • Questions

Description

(say something...)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.