πŸ“Œ ν”„λ‘œμ νŠΈ μ „ λ§ˆμ§€λ§‰ Section4 회고λ₯Ό ν•˜λŠ” 날이닀... λ‚΄κ°€ ν•™μŠ΅ν–ˆλ˜ 만큼만 ν•œλ‹€λ©΄ 무리없이 ν˜‘μ—…μ„ 톡해 ν”„λ‘œμ νŠΈλ₯Ό μ™„μ„±ν•  수 μžˆλ‹€κ³  μƒκ°ν•œλ‹€. 그리고 였늘 기술 면접을 μ€€λΉ„ν•˜λ©΄μ„œ λ‚΄κ°€ 항상 λΆ€μ‘±ν–ˆλ˜ 뢀뢄을 쑰금 더 μ±„μ›Œκ°ˆ 수 μžˆλŠ” ν•˜λ£¨κ°€ λ˜μ—ˆμœΌλ©΄ μ’‹κ² λ‹€.!.!

πŸ“— 였늘 ν•™μŠ΅ν•œ λ‚΄μš©

JavaScript

  • Hoistingκ³Ό Temporal Dead Zone이 μ–΄λ–»κ²Œ μ—°κ΄€λ˜μ–΄ μžˆλŠ”κ°€?
    • ν˜Έμ΄μŠ€νŒ…: ν•¨μˆ˜ μ•ˆμ— μžˆλŠ” 선언듀을 λͺ¨λ‘ λŒμ–΄μ˜¬λ €μ„œ ν•΄λ‹Ή ν•¨μˆ˜ 유효 λ²”μœ„μ˜ μ΅œμƒλ‹¨μ— μ„ μ–Έν•˜λŠ” 것을 λ§ν•˜λ©° varλ³€μˆ˜ 및 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ ν˜Έμ΄μŠ€νŒ…μ΄ λœλ‹€.
    • Temporal Dead Zone: let, const, class ꡬ문의 μœ νš¨μ„±μ„ κ΄€λ¦¬ν•œλ‹€.
    • ν•΄λ‹Ή μ§ˆλ¬Έμ— λŒ€ν•œ 닡을 λ“œλ¦¬κΈ°μ „μ— λ³€μˆ˜μ˜ 생성 단계인 μ„ μ–Έ, μ΄ˆκΈ°ν™”, ν• λ‹Ή 단계가 μžˆμŒμ„ μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€. ν˜Έμ΄μŠ€νŒ…μ€ λ³€μˆ˜μ˜ μ„ μ–Έ 및 μ΄ˆκΈ°ν™”κ°€ λ™μ‹œμ— μ΄λ£¨μ–΄μ§€κ²Œ λ˜μ–΄ λ³€μˆ˜μ˜ μ‚¬μš©μ΄ μ„ μ–Έ 및 μ΄ˆκΈ°ν™” 보닀 μ•žμ— μžˆμ„ κ²½μš°μ— undefinedκ°€ 좜λ ₯λ˜μ§€λ§Œ TDZ의 경우 λ³€μˆ˜μ˜ 생성단계 3단계λ₯Ό 각자 μ‹€ν–‰ν•˜κΈ° λ•Œλ¬Έμ— undefiendκ°€ μ•„λ‹Œ μ—λŸ¬λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

λΈŒλΌμš°μ € λ Œλ”λ§

  • λΈŒλΌμš°μ € λ Œλ”λ§ λ°©μ‹μ΄λž€?
    • μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €λ₯Ό ν†΅ν•΄μ„œ νŽ˜μ΄μ§€μ— 접속할 λ•Œ, μ„œλ²„μ—μ„œ ν•„μš”ν•œ νŒŒμΌμ„ λ‹€μš΄λ°›μ•„ 화면에 λ³΄μ—¬μ£ΌλŠ” 것을 λΈŒλΌμš°μ € λ Œλ”λ§μ΄λΌκ³  ν•˜λ©°, λ™μž‘ 방식은 HTML, CSS νŒŒμΌμ„ νŒŒμ‹±ν•˜μ—¬ Treeλ₯Ό ν˜•μ„±ν•˜κ³ , 두 트리λ₯΄ κ²°ν•©ν•˜μ—¬ λ Œλ” 트리λ₯Ό λ§Œλ“­λ‹ˆλ‹€. λ Œλ”λ§ νŠΈλ¦¬μ—μ„œ 각 λ…Έλ“œμ˜ μœ„μΉ˜μ™€ 크기λ₯Ό κ³„μ‚°ν•˜μ—¬ 각 λ…Έλ“œλ₯Ό 화면상에 μ‹€μ œ ν”½μ…€λ‘œ λ³€ν™˜ν•˜μ—¬ λ ˆμ΄μ–΄λ₯Ό λ§Œλ“€κ³  ν•©μ„±ν•˜μ—¬ μ‹€μ œ 화면에 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
    • λ Œλ”λ§ 트리: λ Œλ”λ§ λͺ©μ μœΌλ‘œ λ§Œλ“€μ–΄μ§„ 트리둜 DOMνŠΈλ¦¬μ™€ CSSOM트리λ₯Ό κ²°ν•©ν•œ κ²ƒμž…λ‹ˆλ‹€.
  • λ¦¬ν”Œλ‘œμš°μ™€ 리페인트?
    • λ¦¬ν”Œλ‘œμš°λž€ μ–΄λ– ν•œ μ•‘μ…˜μ΄λ‚˜ μ΄λ²€νŠΈμ— 따라 μš”μ†Œμ˜ ν¬κΈ°λ‚˜ μœ„μΉ˜λ“± λ ˆμ΄μ•„μ›ƒ 수치λ₯Ό μˆ˜μ •ν•˜μ—¬ 영ν–₯을 λ°›λŠ” μžμ‹, λΆ€λͺ¨λ…Έλ“œλ“€μ„ ν¬ν•¨ν•˜μ—¬ λ ˆμ΄μ•„μ›ƒ 과정을 λ‹€μ‹œ μˆ˜ν–‰ν•˜κ²Œ λ˜λŠ”λ° μ΄λ•Œ, λ Œλ” νŠΈλ¦¬μ™€ 각 μš”μ†Œλ“€μ˜ 크기와 μœ„μΉ˜λ₯Όλ‹€μ‹œ κ³„μ‚°ν•˜λŠ” 과정을 λ¦¬ν”Œλ‘œμš°λΌκ³  ν•©λ‹ˆλ‹€.
    • λ¦¬νŽ˜μΈνŠΈλž€ λ¦¬ν”Œλ‘œμš°λ§Œ μˆ˜ν–‰λ  경우 μ‹€μ œ 화면에 λ°˜μ˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ¦¬ν”Œλ‘œμš°λ₯Ό 톡해 λ‹€μ‹œ κ³„μ‚°λœ μš”μ†Œλ“€μ„ 화면에 λ‚˜νƒ€λ‚˜κ²Œ ν•˜λŠ” κ²ƒμ΄λΌκ³ ν•©λ‹ˆλ‹€.
  • λ°˜μ‘ν˜• 웹은 무엇이고 μž₯단점은 무엇인가?
    • λ°˜μ‘ν˜• μ›Ήμ΄λž€ μ—¬λŸ¬ μž₯치의 λ‹€μ–‘ν•œ νŠΉμ„±μ— λŒ€μ‘ν•˜λŠ” ν•˜λ‚˜μ˜ μ›Ή μ‚¬μ΄νŠΈλ‘œ λΈŒλΌμš°μ €μ˜ 크기에 따라 μ‹€μ‹œκ°„μœΌλ‘œ λ°˜μ‘ν•˜μ—¬ λ ˆμ΄μ•„μ›ƒμ΄ λ³€ν•˜λŠ” μ›Ή μ‚¬μ΄νŠΈλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
    • λ°˜μ‘ν˜• μ›Ήμ˜ μž₯점으둜 ν•˜λ‚˜μ˜ μ†ŒμŠ€λ§Œ μˆ˜μ •ν•˜λ©΄ 되기 λ•Œλ¬Έμ— 효율적인 μœ μ§€λ³΄μˆ˜κ°€ κ°€λŠ₯ν•˜λ©° URL 기반으둜 화면이 λ°”λ€Œμ–΄ 검색엔진 μ΅œμ ν™”μ— μœ λ¦¬ν•©λ‹ˆλ‹€.
    • λ°˜μ‘ν˜• μ›Ήμ˜ λ‹¨μ μœΌλ‘œ μ—¬λŸ¬ μž₯μΉ˜μ— μ μ‘ν•˜κ²Œλ” λ§Œλ“€μ–΄μ Έ λͺ¨λ°”일 μ „μš©μœΌλ‘œ ν•˜λŠ” μ‚¬μ΄νŠΈμ— λΉ„ν•΄ 속도가 느리며 λ§Žμ€ 데이터λ₯Ό μ†ŒλΉ„ν•˜κ²Œ λ˜λŠ” 단점과 μ›Ή λΈŒλΌμš°μ €μ˜ ν˜Έν™˜μ„± λ¬Έμ œκ°€ μž‡μŠ΅λ‹ˆλ‹€.
  • JS μ—”μ§„μ˜ 콜 μŠ€νƒμ΄λž€?
    • μ‹€ν–‰ 쀑인 μ„œλΈŒλ£¨ν‹΄μ„ μ €μž₯ν•˜λŠ” μžλ£Œκ΅¬μ‘°μž…λ‹ˆλ‹€.

λ²ˆλ“€λ§κ³Ό μ›ΉνŒ©

  • λ²ˆλ“€λ§μ€ μ™œ ν•„μš”ν•œκ°€?
    • λ²ˆλ“€λ§μ€ μ—¬λŸ¬ μ œν’ˆμ΄λ‚˜, μ½”λ“œ, ν”„λ‘œκ·Έλž¨μ„ λ‚˜λˆ„μ–΄μ„œ νŒ¨ν‚€μ§€λ‘œ μ œκ³΅ν•˜λŠ” 것 μž…λ‹ˆλ‹€. νŒ¨ν‚€μ§€λ‘œ 제곡되기 λ•Œλ¬Έμ— λ‘œλ”© 속도가 일반적인 배포 방식보닀 λΉ λ¦…λ‹ˆλ‹€.

React

  • Virtual DOM?
    • μ‹€μ œ DOM의 사본 같은 κ°œλ…μœΌλ‘œ Reactμ—μ„œλŠ” μ‹€μ œ DOM 객체에 μ‘°μž‘ν•˜λŠ” λŒ€μ‹  가상 DOM 객체에 μ ‘κ·Όν•˜μ—¬ λ³€ν™” μ „κ³Ό λ³€ν™” ν›„λ₯Ό λΉ„κ΅ν•˜κ³  바뀐 뢀뢄을 μ μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
  • Virtual DOM이 μ’‹μ€μ΄μœ 
    • μ‹€μ œ DOM을 μ‘°μž‘ν•˜κ²Œ 될 경우 λΆˆν•„μš”ν•œ νŠΈλ¦¬κΉŒμ§€ 재 λ Œλ”λ§μ„ ν•΄μ•Όν•˜μ§€λ§Œ 가상 DOM의 경우 바뀐 λΆ€λΆ„λ§Œ μ μš©ν•˜κΈ° λ•Œλ¬Έμ— 속도가 λΉ λ¦…λ‹ˆλ‹€.
  • 클래슀 μ»΄ν¬λ„ŒνŠΈμ™€ ν•¨μˆ˜ μ»΄ν¬λ„ŒνŠΈμ˜ 차이점
    • 클래슀 μ»΄ν¬λ„ŒνŠΈμ˜ 경우 μ½”λ“œκ°€ λ§Žμ•„μ§€κ³  λ³΅μž‘ν•΄μ§ˆμˆ˜λ‘ μ΄ν•΄ν•˜κΈ° μ–΄λ ΅κ³ , μ»΄ν¬λ„ŒνŠΈ μ‚¬μ΄μ—μ„œ μƒνƒœ λ‘œμ§μ„ μž¬μ‚¬μš©ν•˜κΈ° μ–΄λ €μ› μŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 것을 λ³΄μ™„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 것이 ν•¨μˆ˜ μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ, ν•¨μˆ˜ μ»΄ν¬λ„ŒνŠΈμ˜ 경우 μƒνƒœ 값을 μ‚¬μš©ν•˜κ±°λ‚˜ μ΅œμ ν™”ν•  수 μžˆλŠ” κΈ°λŠ₯듀이 λΆ€μ‘±ν–ˆμ§€λ§Œ Hookμ΄λΌλŠ” κ°œλ…μ„ λ„μž…ν•˜μ—¬ μƒνƒœμ˜ μ‘°μž‘μ„ μ‰½κ²Œ ν•˜λ„λ‘ λ³€ν™”λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • React Hook의 μ‚¬μš© κ·œμΉ™
    • λ¦¬μ•‘νŠΈ ν•¨μˆ˜μ˜ μ΅œμƒμœ„μ—μ„œλ§Œ ν˜ΈμΆœλ˜μ–΄μ•Ό ν•˜λ©°, 였직 λ¦¬μ•‘νŠΈ ν•¨μˆ˜ λ‚΄μ—μ„œλ§Œ μ‚¬μš©λ˜μ–΄μ•Όν•©λ‹ˆλ‹€. μ΅œμƒμœ„μ—μ„œ μ‚¬μš©ν•˜μ§€ μ•Šκ³  쑰건문, 반볡문 μ•ˆμ—μ„œ ν˜ΈμΆœν•˜κ²Œ 되면 μˆœμ„œλŒ€λ‘œ μ €μž₯ν•˜κΈ° μ–΄λ €μ›Œμ§€κ³  예기치 λͺ»ν•œ 버그λ₯Ό μ΄ˆλž˜ν•˜κ²Œ 될 수 μžˆμŠ΅λ‹ˆλ‹€.

운영체제

  • Node.jsλŠ” μ‹±κΈ€ μŠ€λ ˆλ“œμΈκ°€?
    • 비동기 이벀트 처리λ₯Ό 기반으둜 ν•˜λŠ” node.jsλŠ” μ‹±κΈ€μŠ€λ ˆλ“œ λ°©μ‹μž…λ‹ˆλ‹€.
  • JSλŠ” μ‹±κΈ€ μŠ€λ ˆλ“œμ΄λ‹€. μ–΄λ–»κ²Œ μ‹±κΈ€ μŠ€λ ˆλ“œ λ°©μ‹μœΌλ‘œ 비동기 ν˜ΈμΆœμ„ ν•  수 μžˆλŠ”κ°€?
    •  
  • Event Loop에 λŒ€ν•΄ μ„€λͺ…해라
    • μ½”λ“œμ˜ μ‹€ν–‰, 이벀트의 μˆ˜μ§‘κ³Ό 처리, 큐에 λŒ€κΈ° 쀑인 ν•˜μœ„ μž‘μ—…μ„ μ²˜λ¦¬ν•˜λŠ” 것이 이벀트 λ£¨ν”„μž…λ‹ˆλ‹€.
  • 가비지 μ»¬λ ‰μ…˜μ΄λž€ 무엇이며, 가비지 μ»¬λ ‰μ…˜μ΄ 가진 μ–Έμ–΄μ—λŠ” 무엇이 μžˆλ‚˜?
    • 가비지 μ»¬λ ‰μ…˜μ€ ν”„λ‘œκ·Έλž¨μ—μ„œ 더 이상 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” λ©”λͺ¨λ¦¬λ₯΄ μžλ™μœΌλ‘œ μ •λ¦¬ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 가비지 μ»¬λ ‰μ…˜μ΄ 가진 μ–ΈλŠ” μžλ°”, C#, μžλ°”μŠ€ν¬λ¦½νŠΈ 등이 μžˆμŠ΅λ‹ˆλ‹€.

자료ꡬ쑰

  • Stackκ³Ό Queue의 차이점
    • Stack은 ν•œμͺ½ λ°©ν–₯으둜만 μž…μΆœλ ₯이 κ°€λŠ₯ν•˜λ©°, QueueλŠ” ν•œμͺ½ λ°©ν–₯μ—μ„œ μž…λ ₯이 μΌμ–΄λ‚˜λ©΄ λ°˜λŒ€ λ°©ν–₯μ—μ„œ 좜λ ₯을 ν•©λ‹ˆλ‹€. μŠ€νƒμ€ ν›„μž…μ„ μΆœ 방식이고, νλŠ” μ„ μž… μ„ μΆœ λ°©μ‹μž…λ‹ˆλ‹€.
  • Tree와 Graph의 차이점
    • νŠΈλ¦¬λŠ” 단방ν–₯ κ·Έλž˜ν”„λ‘œ ν•˜λ‚˜μ˜ 데이터 μ•„λž˜ μ—¬λŸ¬ 개의 데이터가 μ‘΄μž¬ν•  수 μžˆλŠ” λΉ„μ„ ν˜• ꡬ쑰이며,  μ•„λž˜λ‘œλ§Œ λ»—μ–΄ λ‚˜κ°€κΈ° λ•Œλ¬Έμ— 사이클이 μ—†μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ, κ·Έλž˜ν”„μ˜ 경우 μ—¬λŸ¬κ°œμ˜ 점듀이 μ„œλ‘œ λ³΅μž‘ν•˜κ²Œ μ—°κ²°λ˜μ–΄ μžˆλŠ” ꡬ쑰둜 μ–‘λ°©ν–₯ 톡신이 κ°€λŠ₯ν•˜μ—¬ 사이클이 μ‘΄μž¬ν•©λ‹ˆλ‹€.
  • 이진 탐색 λ°©λ²•μ΄λž€?
    • 데이터가 μ •λ ¬λ˜μ–΄ μžˆλŠ” λ°°μ—΄μ—μ„œ νŠΉμ •ν•œ 값을 μ°Ύμ•„λ‚΄λŠ” λ°©μ‹μ˜ μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€. λ°°μ—΄μ˜ 쀑간에 μžˆλŠ” μž„μ˜μ˜ 값을 μ„ νƒν•˜μ—¬ 찾고자 ν•˜λŠ” κ°’κ³Ό λΉ„κ΅ν•˜μ—¬ μž‘λ‹€λ©΄ μ™Όμͺ½μ˜ 데이터듀을 λŒ€μƒμœΌλ‘œ νƒμƒ‰ν•˜λ©°, 클 κ²½μš°μ—λŠ” 였λ₯Έμͺ½μ— μœ„μΉ˜ν•œ 데이터듀을 λŒ€μƒμœΌλ‘œ νƒμƒ‰ν•˜λŠ” 방식을 반볡적으둜 μˆ˜ν–‰ν•˜μ—¬ 값을 찾을 λ•Œ μ‚¬μš©λ˜λŠ” μ•Œκ³ λ¦¬μ¦˜ κΈ°λ²•μž…λ‹ˆλ‹€.

πŸ“˜ μΆ”κ°€λ‘œ 곡뢀할 λ‚΄μš©

Study원과 ν•¨κ»˜ 진행쀑인 ν”„λ‘œμ νŠΈ κ΅¬ν˜„(메인 ν”Œμ  ν›„ λ‹€μ‹œμ‹œμž‘)

λ‚˜λ§Œμ˜ 포트폴리였 μ‚¬μ΄νŠΈ κ΅¬ν˜„  해보기

pre-project κ΄€λ ¨ μ‚¬μ΄νŠΈ 찾아보기

πŸ“ μ€‘μš”ν•œ λ‚΄μš©

  • κΈ°μˆ λ©΄μ ‘

'Daily > Today I Learned' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

22.08.23_TIL  (0) 2022.08.23
22.08.22_TIL  (0) 2022.08.22
22.08.17_TIL  (2) 2022.08.17
22.08.16_TIL  (0) 2022.08.16
22.08.12_TIL  (0) 2022.08.12

+ Recent posts