강의

멘토링

커뮤니티

BEST
Programming

/

Programming Language

[CS Technical Interview 6] Java and Object-Oriented Programming That Makes Sense

This course carefully selects only the essential Java core concepts you must know for practical work and interviews, covering everything from object-oriented programming to collections, multithreading, and modern Java all in one comprehensive package. Going beyond basic syntax, it explains advanced concepts that make the difference in interviews through diagrams and examples in an easy-to-understand way, organized with slides for quick review at a glance. If you want to systematically organize Java core concepts, start right now.

(4.9) 17 reviews

308 learners

  • yiyj10305235
3시간 만에 완강할 수 있는 강의 ⏰
자바
java
객체지향
비전공자
Java
oop
Tech Interview
kakao-tech
kakao-recruitment

Reviews from Early Learners

What you will gain after the course

  • Applying Java to Object-Oriented Programming (OOP) Principles and Design

  • JVM Structure and Operating Principles, Garbage Collection (GC) and Memory Management

  • Garbage Collection (GC) Operation Method

  • Multithreading and Concurrency Control Basics

  • How to Answer Advanced Java Concept Questions in Technical Interviews

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

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 practicing to organize concepts in just a few sentences and articulate 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

InterviewerWhat 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 it's read as a signal that the conceptual framework is not established.


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 Um... 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 easily.
Words like request, response, server, and client come to mind, but they don't flow naturally into a coherent sentence.
This is because we've never practiced explaining from definition to principles in one continuous flow.
This isn't a lack of knowledge, but an absence of structure.


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

🎯 Recommended for these people

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

A major student who needs to reorganize again

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

Don't open that thick
textbook 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

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

Job seekers with no time

That's 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 manageable lecture durations, you can complete the course even with a busy schedule and quickly review right before interviews.

  • Condensed 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 you must review before an interview.

  • While building fundamental skills, I ultimately structured it to be used 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 a clear understanding of why it's important.

3⃣ Appendix [Interview Practice] 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.

  • At the end of the lecture materials, we include "answering in one or two sentences" training to reduce the effort of summarizing.


📘 Technical Interview Practical WorkbookProvided

"How can I maximize my learning efficiency even more?"
"Will this course alone really be enough for speaking practice?"

After much deliberation, the Technical Interview Practice Workbook was born.
You can practice by speaking out loud as if in a real interview.

This is a file provided separately from the lecture materials,
and it focuses on enabling you to express
what you understand in your own words.

Curious about the workbook structure or how to use it?
You can check it out in detail right now in the workbook introduction video at the beginning of the course.

Workbook PDF Preview

💡 Use it like this

1⃣ Download the materials and learn key concepts while listening to the lectures.
2⃣ Take notes on important parts to create your own CS interview notes.
3⃣ Save them on your phone and review them briefly whenever you have spare time.

If you have an interview coming up,
and don't have much time → Use the appendix [Interview Practice] in the course materials to quickly sharpen your interview skills.
If you have time → Complete your speaking practice like a real interview with the Technical Interview Practice Workbook.

💬 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 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 restructuring various materials to create 'my own comprehensive study notes.' This course is precisely that 'ultimate self-study secret note' born from 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 put all the methods of how to most efficiently understand complex and abstract concepts and make them your own into this course.

  • '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 sixth lecture [Java and Object-Oriented Programming] from the Technical Interview Master Roadmap.


📕 Java is the most widely used programming language worldwide and a representative implementation language of object-oriented design.

  • Do you know about classes and interfaces, but get confused about when to use which one

  • Do you know the concepts of JVM and Garbage Collection (GC), but can you explain how they actually work

  • Have you heard of multithreading and synchronization, but find it daunting to answer in one or two sentences during interviews

This course is the one and only solution that will quench that thirst of yours.
Rather than simply listing grammar rules, it organizes Java's core concepts with a diagram-centered, principle-centered, and practice-centered approach,
helping you transform into someone who truly knows.


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

  • What is Object-Oriented Programming (OOP) and why is it important?
    → Explains the principles of abstraction, inheritance, polymorphism, and encapsulation along with SOLID design principles through Java code examples

  • How does the JVM operate structurally, and how does GC manage memory?
    → Summarizes class loader, execution engine, heap/stack memory structure, and major GC algorithms in flowcharts

  • How do you implement multithreading, and why is synchronization necessary?
    → Shows the usage of Thread, Runnable, synchronized, and volatile keywords and concurrency control methods through practical examples

  • What are the modern Java features introduced after Java 8?
    → We compare and organize the concepts and use cases of lambda expressions, functional interfaces, and Stream API



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

You can practice answering common technical interview questions in one or two sentences such as "What are the core principles of OOP?", "Why is GC necessary?", and "When is volatile needed in a multithreaded environment?"

📖 Core-packed Curriculum

Here are the topics and key keywords you will learn in this course.

If there are any unfamiliar keywords, make sure to grasp them thoroughly this time.

  1. Object-Oriented Basics

    • Object-oriented characteristics, SOLID principles, etc.

  2. Java Overview

    • Java features, JVM / Garbage Collector (GC), reference types, Call by Value, static keyword, etc.

  3. Object-Oriented Programming

    • Java's OOP, polymorphism, interfaces and abstract classes, etc.

  4. Collection

    • Characteristics and Various Comparisons of List, Set, and Map

    • Comparison of Various Sets (HashSet, LinkedHashSet, TreeSet)

    • Comparison of Various Maps (HashMap, LinkedHashMap, TreeMap, ConcurrentHashMap)

  5. Multi-threading and Concurrency

    • Multi-thread implementation methods

    • •synchronized keyword and volatile keyword, etc.

  6. Exception Handling and Other Concepts

    • Exception handling methods, exception hierarchy, serialization/deserialization, comparison between String and StringBuilder/StringBuffer, etc.

  7. Modern Java (Java 8 and later)

    • Functional Interfaces and Lambda Expressions, Collections and Streams Comparison

  8. [Appendix] Interview Practice

    • Review the key concepts once more in a Q&A format

✏ Here's what you'll learn

1⃣ Object-Oriented Design Principles and Application Methods

  • Learn from SRP (Single Responsibility Principle), the core philosophy of object-oriented programming, to the 5 SOLID principles.

  • Compare poorly designed code with refactored code to understand how to improve maintainability and scalability.

  • You can definitely learn the 'application methods' rather than just theory through practical Java code examples.

SRP Explanation and Code Examples

2⃣ Easy explanation of confusing Java core concepts with diagram-focused approach

  • JVM and Memory Structure The JVM execution process and the roles of Stack/Heap memory areas are explained easily with diagrams.

  • GC (Garbage Collector) Operating Principles You can solidify your understanding of concepts by learning through visual diagrams that follow the complex GC process, rather than abstract explanations.

  • Learn in depth how the call by value method is reflected in actual memory states and code execution, along with diagrams.

GC Operation Process Example

Example of JVM Component Description

call by value principle explanation

3⃣Multithreading and Synchronization Strategies for Immediate Use in Practice

  • Various thread creation methods implemented with Thread, Runnable, ExecutorService

  • The meaning and operational differences of the synchronized, volatile keywords

  • Compare code execution results before/after synchronization and learn safe shared resource access methods

synchronized keyword explanation example

4⃣ Question-focused explanation training to prepare for technical interviews

  • Practice summarizing common interview questions in one or two sentences

  • Organized into an "explainable state" rather than memorization-focused

  • Interview Practice Chapter Included

Multi-threading Core Questions Summary

👀 Course Preview

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

Garbage Collector (GC) Explanation

All in One! Complete Guide to Confusing Essential Java Concepts

💡 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

  • Basic knowledge of Java syntax is required as a prerequisite.

Recommended for
these people

Who is this course right for?

  • Those who want to solidify their foundation in Object-Oriented Programming (OOP) basics

  • Those who want to learn key practical and interview topics such as JVM, Garbage Collection (GC), multithreading, etc.

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

  • Those who want to learn skills that can be immediately applied to practical development, such as lambda expressions and collection utilization

Need to know before starting?

  • JAVA Basic Syntax

  • Learning becomes much easier if you have basic operating system concepts like memory and threads.

Hello
This is

2,345

Learners

118

Reviews

12

Answers

4.9

Rating

7

Courses

About Me

  • 카카오에서 서버 개발자로 일하며, CS 개념을 빠르게 이해하고
    면접에서 말로 풀어낼 수 있도록 돕는 '말이 트이는 CS' 시리즈를 만들고 있습니다.

 

학력 및 경력

  • 서울대학교 졸업

  • 現 카카오 서버 개발자

 

강의 철학

컴퓨터 비전공자로 개발을 시작해 CS 기초부터 기술 면접까지 직접 정리하며 시행착오를 많이 겪었습니다. 그 과정에서 쌓인 학습법과 개념 정리 노하우를 바탕으로, 실무와 면접에서 꼭 마주치는 핵심만 선별해 도해와 쉬운 흐름으로 누구나 이해하고 설명할 수 있도록 만드는 콘텐츠를 제작하고 있습니다.
"그때의 저에게 필요했던 강의를 만들고 있습니다."

 

강의 스타일

  • 핵심만 3~4시간에 압축

  • 도해 중심의 구조적 설명

  • 면접 질문을 기준으로 구성

  • 워크북으로 실전 답변까지 연습

 

블로그

  • yiyj1030.tistory.com
    → CS, 알고리즘, 실무 개념을 쉽고 정리하는 기술 블로그 운영 중

     

 

Contact

yiyj1030@gmail.com

Curriculum

All

33 lectures ∙ (3hr 6min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

17 reviews

4.9

17 reviews

  • Tommy님의 프로필 이미지
    Tommy

    Reviews 20

    Average Rating 5.0

    5

    100% enrolled

    퀵하게 개념들을 복습하고자 강의를 수강했었습니다. 전반적으로 잘 다뤄주셔서 빠르게 복습하는데 도움이 되었습니다. 감사합니다.

    • pray님의 프로필 이미지
      pray

      Reviews 10

      Average Rating 4.8

      5

      100% enrolled

      와...진짜 너무좋습니다...;;;; 돈모아서 로드맵으로 다 사야겠네요.. 혹시 스프링쪽도 강의 해주실 생각있으신지 궁금합니다.. 바로살게효..

      • 취뽀플리즈님의 프로필 이미지
        취뽀플리즈

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        빠진 부분을 꼼꼼하게 채워주는 느낌이었습니다 다른 시리즈도 면접 전에 보면 도움이 될 거 같아요

        • 이용준
          Instructor

          수강평 감사합니다. 이 강의에서 끝나지 않고 배움의 여정을 계속 함께하면 좋겠습니다. 다음 시리즈에서 또 뵙길 기다리겠습니다 :)

      • 고잉님의 프로필 이미지
        고잉

        Reviews 28

        Average Rating 5.0

        5

        100% enrolled

        면접 전에 큰 꼭지 파악하기 위해 볼 수 있는 강의입니다.

        • 이용준
          Instructor

          수강평 감사합니다. 이 강의에서 끝나지 않고 배움의 여정을 계속 함께하면 좋겠습니다. 다음 시리즈에서 또 뵙길 기다리겠습니다 :)

      • atoz님의 프로필 이미지
        atoz

        Reviews 76

        Average Rating 4.9

        5

        31% enrolled

        • 이용준
          Instructor

          수강평 감사합니다. 이 강의에서 끝나지 않고 배움의 여정을 계속 함께하면 좋겠습니다. 다음 시리즈에서 또 뵙길 기다리겠습니다 :)

      $17.60

      yiyj10305235's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!