강의

멘토링

로드맵

Programming

/

Programming Language

[CS Technical Interview 6] Java and Object-Oriented Programming Made Clear

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 guide. Beyond basic syntax, we explain 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.7) 7 reviews

245 learners

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

Reviews from Early Learners

What you will learn!

  • 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 Fundamentals

  • How to Answer Advanced Java Concept Questions in Technical Interviews

💬 Getting a developer job - coding tests weren't the end of it.

As someone from a non-computer science background, when I first prepared for a developerjob, I focused solely on 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 weren't 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. I painfully realized that passive learning through simply reading and understanding wasn't enough to answer questions in actual interviews.

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 verbally. 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 rather it's read as a signal that your conceptual framework is not solidly 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 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 should be connected as one cohesive 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 are preparing for technical interviews and need to be able to articulate CS fundamentals verbally

  • "I've studied before, but I can't bring myself to reorganize all that vast CS knowledge again"
    → You don't need to open your textbooks again. We'll structure and clearly organize only the essentials.

  • "I need to prepare for technical interviews, but as a non-CS major, I don't know which subjects to study or how to approach them."


    RoadmapFollow along to focus on learning only the core CS concepts.


  • "Enough, I don't have time. I need a way to quickly study only the core topics that are likely to be covered in interviews"
    → Detailed lecture materials and interview practice chapters are prepared that allow for quick self-study even when studying alone.

⚡ 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 lectures 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 an interview.

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

  • 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⃣ 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 listen to the lectures to learn key concepts.
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 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.

From a young age, I was 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 know-how' and a secret notebook 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 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 computer science knowledge 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, combined with 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 just one or two sentences during interviews

This course is the one solution that will quench that thirst of yours.
Rather than simply listing grammar, it organizes Java's core concepts in a diagram-centered, principle-centered, 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 using Java code examples

  • How does the JVM operate structurally, and how does GC manage memory?
    → Organizes 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 by yourself in one or two sentences to common technical interview questions like "What are the core principles of OOP?", "Why is GC necessary?", and "When is volatile needed in a multithreaded environment?"

📖 A curriculum packed with only the essentials

Here are the table of contents 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 features, 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. Multithreading and Concurrency

    • Multi-threading Implementation Methods

    • •synchronized keyword and volatile keyword, etc.

  6. Exception Handling and Other Concepts

    • Exception handling methods, 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 key concepts once more in 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 This explains the JVM execution process and the roles of Stack/Heap memory areas in an easy-to-understand way with diagrams.

  • GC (Garbage Collector) Operating Principles Learn by following the complex GC process through visual diagrams rather than abstract explanations, allowing you to solidify your understanding of the concepts.

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

GC Operation Process Example

Example of JVM Component Description

Explanation of the call by value principle

3⃣Multithreading and Synchronization Strategies for Immediate Use in Practice

  • Various thread creation methods implemented with Thread, Runnable, and ExecutorService - Different Thread Creation Approaches

  • 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 focusing on memorization

  • 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! Essential Java Concepts Summary for Confusing Topics

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

🔗 Technical Interview Master Roadmap


From non-majors unfamiliar with CS concepts to job seekers desperately needing to pass interviews in a short time!

It's designed to connect the core concepts of computer science(computer-science) through an intuitive flow and develop practical explanation skills that you can immediately apply in interviews. This roadmap covers not only computer architecture, operating systems, networks, databases, and data structures, but also the fundamentals of programming languages like Java.


This complete roadmap consists of a total of 384 pagesof extensive core materials, 135lectures, and a total of 17 hours and 01 minutesof high-density curriculum. All lectures break down complex concepts with easy diagrams and explanations, allowing you to master them perfectly on your own. Composed of reviewable slidesrather than presentation slides, it helps you completely master fundamental concepts.


The series structure is as follows:

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

1,346

Learners

81

Reviews

7

Answers

4.9

Rating

6

Courses

학력 및 경력

  • 서울대학교 졸업

  • 現 카카오 개발자

     

배경

  • 컴퓨터 비전공자 출신

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

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

주요 이력

강의 철학

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

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

블로그

Contact

  • yiyj1030@gmail.com

Curriculum

All

29 lectures ∙ (2hr 50min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

7 reviews

4.7

7 reviews

  • algochemy님의 프로필 이미지
    algochemy

    Reviews 9

    Average Rating 5.0

    5

    100% enrolled

    • 이용준
      Instructor

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

  • 초명(Daniel Y)님의 프로필 이미지
    초명(Daniel Y)

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    • 이용준
      Instructor

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

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

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

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

    • 이용준
      Instructor

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

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

    Reviews 28

    Average Rating 5.0

    5

    100% enrolled

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

    • 이용준
      Instructor

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

  • atoz님의 프로필 이미지
    atoz

    Reviews 71

    Average Rating 5.0

    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!