강의

멘토링

로드맵

NEW
Programming

/

Programming Language

[CS Technical Interview 7] JavaScript That Makes Sense

I've carefully selected only the essential JavaScript core concepts you must know for practical work and interviews, covering everything from scope and execution context to closures, prototypes, asynchronous processing, and module systems in one comprehensive course. Going beyond superficial syntax explanations, this course is structured to help you understand how JavaScript actually works from its fundamental principles. Through examples and visual materials, I explain concepts that seemed difficult in an easy way, aiming for 'understanding that can be expressed in words' that you can directly use in interviews. If you want to systematically organize JavaScript's operating principles, start right now.

1 learners are taking this course

  • yiyj10305235
javascript
자바스크립트
3시간 만에 완강할 수 있는 강의 ⏰
비전공자
JavaScript
Tech Interview
kakao-tech
kakao-recruitment

What you will learn!

  • Understanding JavaScript's Operating Principles Based on Scope and Execution Context

  • Organizing core concepts like closures, prototypes, and this binding to interview level

  • Learning Asynchronous Processing (Promise, async/await) and Event Loop Operating Mechanisms

  • Understanding the Structure and Loading Strategies of Module Systems (ESM, Dynamic Import)

  • Learning How to Clearly Answer Advanced JavaScript Concept Questions in Technical Interviews

🥲 Getting a developer job, coding tests weren't the end.

As a non-major, when I first prepared for developer employment, I was obsessed only with algorithms and coding tests. I gained some confidence and passed most coding tests. However, I kept failing at the next hurdle, technical interviews.
What was the problem? It was the lack of CS (Computer Science) knowledge. In interviews, CS fundamentals were considered much more important than algorithms.

🗣 For actual interviews, 'speaking practice' was important.

Even after filling in my CS fundamentals, interviews were still not easy. In an interview at a certain company, I was asked about floating-point numbers. It was content I thought I had read and understood multiple times in books, but I couldn't utter a single word. That's when I realized it. Passive learning through simply reading and understanding cannot provide answers in real situations.

To succeed in interviews, you need not only to accumulate a lot of knowledge but also the ability to explain this knowledge. This 'ability to explain' can only be developed through practice of organizing concepts into just a few sentences and speaking them out loud. Through this process, you can also discover what you didn't know precisely. Without sufficient practice, you'll encounter the following problems.


1. Conceptual Confusion Type

Interviewer What are the characteristics of object-oriented programming?
💬 Candidate The SOLID principles. First, S is..(omitted)...

This is a case of confusing similar concepts.
SOLID is an OOP design principle, and the characteristics of object-oriented programming are abstraction, encapsulation, inheritance, and polymorphism.
The moment you mix up related concepts, the interviewer judges that 'your fundamentals are shaky.'
It's not just a simple mistake, but rather it's read as a signal that your conceptual framework is not solid.


2. Lack of Specificity Type

Interviewer What are the characteristics of TCP?
💬 Candidate It's a protocol that guarantees reliability.
Interviewer What are the mechanisms that guarantee reliability?
💬 Candidate Uh... well... it makes transmission secure... like that...

This is a case where you only know the What, but are missing the How/Why.
You only know the superficial answers and aren't prepared to explain the underlying principles.
TCP establishes communication through connection (3-way handshake), ensures reliability through RDT (sequence numbers, ACK, retransmission, etc.), and maintains quality through flow control and congestion control.
These concepts need to be connected as one coherent flow in your mind. Without organizing concepts concretely, you cannot prepare for follow-up questions.


3. Getting tongue-tied with basic questions

Interviewer What is HTTP?
💬 Candidate Um... it's for sending and receiving data on the web... something like that...?

It's such a familiar concept, but when asked to explain it in one sentence, the words don't come out easily.
Words like request, response, server, and client come to mind, but they don't flow together into a natural sentence.
This is because we've never practiced explaining from definition to principles in one coherent flow.
This isn't a lack of knowledge, but an absence of structure.


Just knowing is not enough. It only becomes real skill when you can express it in words.

🎯 Recommended for these people

Non-majors · Job seekers · Career changers and others who are preparing for technical interviews and need to be able to organize CS fundamentals verbally

Students who need to reorganize their major studies

I've studied before, but
I can't bring myself to reorganize all that vast amount of CS knowledge again

Don't open those thick textbooks
again.
We'll organize only the essentials clearly.

Non-CS majors who find CS overwhelming

This is my first time preparing for a technical interview
and I don't know where
to start - I'm completely lost

Following the roadmap, you can
focus on learning only
the core CS concepts.

Job seekers with no time

Enough, I don't have time.
I need to quickly review only the CS topics

that come up in interviews

You can quickly review on your own
with lecture materials and
interview chapters available.

⚡ Lecture Core Kick

1⃣ Short and highly focused runtime

  • With a comfortable lecture duration, you can complete the course even with a busy schedule and quickly review right before interviews

  • Compressed to the essentials, designed so you can complete the entire course in a short amount of time

  • I focused on the point that the greatest learning effect comes from completing the course itself, rather than accumulating courses like shopping.

2⃣ Interview-focused lectures summarizing only the essentials

  • I have compiled and organized the essential concepts and principles that must be reviewed before interviews.

  • I structured it to build fundamentals while ultimately being usable for interview preparation

  • It's not just a simple summary, but structured with diagrams and easy explanations so that even non-majors can fully understand it.

  • You can quickly organize the main content while learning with understanding of why it's important.

3⃣ Practical Interview Practice Chapters Included

  • In interviews, the ability to explain things clearly is much more important than simply knowing something.

  • However, organizing and practicing on your own is not easy and can be a tedious task.

  • This course includes "answer in one or two sentences" training at the end of each section to reduce the effort of summarizing.


💡 Use it like this

1⃣ Download the materials and learn key concepts while listening to the lectures.
2⃣ Take notes on the necessary parts to create your own CS interview notes.
3⃣ Save them on your phone and open them anytime for review.
4️⃣ You can improve your interview skills in a short amount of time.

💬 Q. The lecture time is short, but will I be able to learn properly?

This course is short, but it's 'not shallow'.
We've compressed vast content to organize only the core essentials that are actually asked in interviews.
We've removed unnecessary theory and cover topics deeply enough to answer follow-up questions.
If you want to use your limited time most efficiently, the short runtime will actually become your most powerful weapon.

🖐 Hello! Let me introduce myself! 🙇

I created this course while thinking of my past self, who stayed up all night worrying about fundamentals and felt anxious over every single interview question.

I started as a non-CS major and understand better than anyone the thirst for fundamentals (CS knowledge, programming languages, etc.). Through self-studying countless materials and building my own know-how, I eventually graduated from Seoul National University and now work as a 🧑🏻‍💻 Kakao developer.

Since childhood, I've been more confident than anyone in combining and reconstructing various materials to create 'my own comprehensive study notes.' This course is a secret notebook born from that 'ultimate self-study know-how' and all my passion and philosophy.

🔥 What makes this course special?

  • All of my 'know-how' is included: As a non-CS major, I have fully incorporated my experience and know-how of self-studying CS and programming languages and getting hired at a large corporation. I have included in this course all the methods for how to most efficiently understand complex and abstract concepts and make them your own.

  • 'Fundamentals' are key in any development field: Whether you're aiming for game development, AI, web/app development, or any other field, basic knowledge of computer science is not optional but essential. This course helps you become a true expert based on solid fundamentals.

  • We compete with 'overwhelming quality': I've referenced countless materials including textbooks, famous university lectures, commercial books, and technical interview resources to extract core keywords and reconstruct them in my own unique way. With intuitive diagrams and illustrations, plus easy explanations infused with my practical experience, I promise to make even complex concepts click with that "Ah, now I get it!" moment.

🚀 Introducing the seventh lecture of the Technical Interview Master Roadmap, the [JavaScript] edition.


📕 JavaScript is not a language where knowing just the syntax is enough.

  • You know variables but are confused about scope/hoisting/TDZ

  • Are you stuck on explaining why 'this' varies depending on how it's called

  • Is it difficult to structurally explain the difference between prototypes and classes

  • Event Loop·Microtasks·Promise·async/awaitIs it difficult to confidently explain the execution order

Understanding the 'operating principles' such as scope, execution context, closures, prototypes, and event loops is what gives you real power in practical work and interviews. This course clearly organizes JavaScript's internal workings through diagram-centered, flow-centered, and practice-centered approaches rather than memorization, providing a course that gives you the experience of "words flowing naturally" in interview settings.


🎯 Through this course, you will be able to clearly answer the following questions.

  • What are scope and execution context, and why are they necessary?


    → Understand why hoisting and TDZ occur through the identifier search/initialization rules determined by lexical environment and execution context.

  • How is this binding determined?
    → Summarizes the default/explicit/new binding rules and the differences between call/apply/bind with examples.

  • What is a closure and when is it useful?
    → Covers the pros and cons in a balanced way, from encapsulating external state and utilizing in events/callbacks to precautions about memory leaks.

  • What's the difference between prototypes and classes?
    → We compare prototype chains, method sharing principles, and the abstraction that class syntax provides through diagrams.

  • How does the event loop work?
    → Visualize the call stack, task queue, and event loop, and learn the principles of Promise and async/await.

  • What is the DOM and how do you manipulate it?
    → Explains node selection and manipulation, event propagation (capturing/bubbling), and preventDefault/stopPropagation together.

  • Why are script loading strategies important?
    → We'll organize the differences between defer·async·type="module", ES modules·dynamic import, and code splitting.



📌 At the end of the lecture, a practical interview practice chapter awaits you.

You can also practice answering common interview questions like "Explain execution context in one sentence", "Why do we need closures?", "Explain prototype inheritance with a diagram", "Explain the difference between Promise and async/await in terms of execution order", and "Why is bubbling useful?" in one or two sentences by yourself.

📖 A curriculum packed with only the essentials

This is the table of contents and key keywords you will learn in this course.

If there are any unfamiliar keywords, make sure to master them thoroughly with this opportunity.

  1. Scope and Execution Context

    • Scope, Lexical Environment, Execution Context, Hoisting, TDZ, this keyword, Explicit Binding, JS Runtime


  2. Closure

    • The concept and operating principles of closures, advantages and disadvantages from data encapsulation and memory management perspectives

  3. JavaScript Operating Principles

    • Single-threaded structure, synchronous vs asynchronous processing flow, how the event loop works (call stack, task queue)

  4. Asynchronous Programming

    • Callback functions and callback hell, Promise state changes and chaining, async/await syntax and error handling

  5. Prototype and Inheritance

    • Object Creation Methods and Constructor Functions,

      The concept and connection structure of prototypes,

      Various Prototype Inheritance Methods

  6. Working with Arrays and Objects

    • Array methods like map, filter, reduce, object destructuring and spread operator

  7. JavaScript Module System

    • ES module system structure, differences between import/export, dynamic import and code splitting

  8. Browser and JavaScript

    • JavaScript execution preparation process, script loading strategies, DOM and events, event propagation

  9. [Appendix] Interview Practice

    • Review key concepts once more in Q&A format

✏ Here's what you'll learn

1⃣ Understanding JavaScript Core Mechanisms Through Flow-Centered Approach

  • Understanding how complex mechanisms like scope, execution context, event loop, and call stack are interconnected and operate through flowcharts and timelines

Execution Context Creation Process

2⃣ Step-by-step flow explanation using diagrams, notes, and code

  • Not just simple memorization, but a structure that combines visual + code + handwritten notes
    → Even complex concepts can be naturally learned by combining note-taking with execution results
    → A 'review-oriented lecture' structure that allows you to reopen and organize materials even during the course

Definition and Types of Scope

3⃣ Pattern-based examples to develop practical skills

  • Prototype inheritance, event delegation, module loading strategies, etc.
    Structured to help you understand patterns encountered in practice along with the reasons

class-based prototype inheritance example

4⃣ Key Questions Summary for Technical Interview Preparation

  • Includes interview practice chapter at the end of the course

  • "What is a closure?", "Please explain the principles of Promise", etc.
    Includes practice summarizing frequently asked questions in one or two sentences

  • From concept mastery → to practical preparation - a seamless flow

Key Questions Summary

👀 Course Preview

If the video is frozen, please refresh the page :)

Overcoming the limitations of single threads: Event Loop

Promise Operation Principles and Follow-up Processing Methods

💡 Curious about other interview preparation courses? Check out the roadmap below :)

🔗 Technical Interview Master Roadmap

Technical Interview Master Roadmap

Pre-enrollment Reference Information

  • Learning materials format provided: PDF

  • This is a lecture that does not require prerequisite knowledge.


Recommended for
these people

Who is this course right for?

  • Those who know the basic syntax of JavaScript but want to systematically organize the principles of how it works

  • Those who want to deeply understand common interview topics such as execution context, closures, prototypes, and asynchronous programming

  • Job seekers who want to confidently answer JavaScript-related questions in technical interviews

  • Those who want to understand code execution flow and performance optimization principles to immediately apply them in practical development

Need to know before starting?

  • Javascript Basic Syntax

Hello
This is

1,366

Learners

82

Reviews

8

Answers

4.9

Rating

7

Courses

학력 및 경력

  • 서울대학교 졸업

  • 現 카카오 개발자

     

배경

  • 컴퓨터 비전공자 출신

  • 독학으로 개발을 시작해 CS 기초부터 기술 면접까지 직접 체계적으로 정리하며 준비

  • 시행착오를 겪으며 쌓은 학습법과 개념 정리 노하우를 꾸준히 콘텐츠로 제작해옴

주요 이력

강의 철학

  • 실무와 면접에서 꼭 마주치는 핵심만 선별해,
    쉬운 설명과 도해로 누구나 이해하고 확장할 수 있도록 설계

  • “그때의 저에게 필요했던 강의를 만들고 있습니다”

블로그

Contact

  • yiyj1030@gmail.com

Curriculum

All

38 lectures ∙ (3hr 25min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

Limited time deal

$7,260.00

70%

$18.70

yiyj10305235's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!