[CS 기술면접 3] Mạng máy tính dễ hiểu
yiyj10305235
Khóa học giúp bạn hiểu các khái niệm cốt lõi về mạng và luyện tập giải thích bằng lời nói trong phỏng vấn
입문
Network, Tech Interview, computer-science
Khóa học giúp bạn hiểu các khái niệm cốt lõi của hệ điều hành và luyện tập giải thích bằng lời nói trong phỏng vấn
200 học viên
Hiểu các khái niệm cốt lõi của hệ điều hành
Khả năng giải thích bằng lời nói trong phỏng vấn kỹ thuật
Sách bài tập thực chiến chuẩn bị cả câu hỏi đuôi PDF
Xuất thân từ ngành khác, khi lần đầu chuẩn bị xin việc làm developer, tôi chỉ tập trung vào thuật toán và coding test. Tôi cũng khá tự tin và vượt qua được hầu hết các bài coding test. Nhưng ở cửa ải tiếp theo là phỏng vấn kỹ thuật, tôi liên tục thất bại.
Vấn đề là gì? Chính là thiếu kiến thức CS (Khoa học Máy tính). Trong phỏng vấn, họ coi trọng nền tảng CS cơ bản hơn nhiều so với thuật toán.
Ngay cả sau khi đã bổ sung lại những kiến thức cơ bản về CS, phỏng vấn vẫn không hề dễ dàng. Trong một cuộc phỏng vấn tại một công ty nào đó, tôi đã nhận được câu hỏi về số thực dấu phẩy động. Rõ ràng đây là nội dung mà tôi đã đọc và nghĩ rằng mình đã hiểu nhiều lần trong sách, nhưng tôi không thể thốt ra được dù chỉ một lời nào. Lúc đó tôi mới nhận ra. Việc học tập thụ động chỉ đơn thuần là đọc và hiểu thì không thể trả lời được trong thực tế.
Để thành công trong phỏng vấn, không chỉ cần tích lũy nhiều kiến thức mà còn cần có khả năng giải thích những kiến thức đó. 'Khả năng giải thích' này chỉ có thể được rèn luyện thông qua việc tổng hợp khái niệm trong vài câu và luyện tập nói ra thành lời. Trong quá trình này, bạn cũng có thể phát hiện ra mình đang không hiểu chính xác điều gì. Nếu thiếu sự luyện tập này, bạn sẽ gặp phải những vấn đề sau đây.
1. Loại nhầm lẫn khái niệm
❓Người phỏng vấn Đặc điểm của lập trình hướng đối tượng là gì?
💬 Ứng viên Là nguyên tắc SOLID. Đầu tiên S là..(bỏ qua)...Đây là trường hợp nhầm lẫn các khái niệm tương tự.
SOLID là nguyên tắc thiết kế OOP và các đặc trưng của lập trình hướng đối tượng là trừu tượng hóa, đóng gói, kế thừa, đa hình.
Ngay khi trộn lẫn các khái niệm có liên quan, người phỏng vấn sẽ đánh giá 'nền tảng không vững chắc'.
Bởi vì điều này không chỉ là lỗi đơn giản mà được hiểu là tín hiệu cho thấy khung khái niệm chưa được thiết lập.
❓Người phỏng vấn Đặc điểm của TCP là gì?
💬 Ứng viên Đó là giao thức đảm bảo độ tin cậy.
❓ Người phỏng vấn Cơ chế đảm bảo độ tin cậy là gì?
💬 Ứng viên Ừm... tức là... làm cho việc truyền tải an toàn... kiểu như...Chỉ biết What mà thiếu How/Why.
Chỉ biết câu trả lời bề ngoài, chưa sẵn sàng giải thích nguyên lý.
Thỏa thuận giao tiếp qua TCP connection (3-way handshake), đảm bảo độ tin cậy thông qua RDT (sequence number, ACK, retransmission, v.v.) và duy trì chất lượng bằng flow control và congestion control.
Những khái niệm này phải được kết nối thành một luồng trong đầu. Nếu không tổng hợp các khái niệm một cách cụ thể thì không thể đối phó với những câu hỏi đuổi theo.
❓Người phỏng vấn HTTP là gì?
💬 Ứng viên Ừm... là để trao đổi dữ liệu trên web... kiểu như thế...?Đây là một khái niệm quá quen thuộc, nhưng khi thực sự phải giải thích bằng một câu thì lại không dễ dàng tìm được lời.
Những từ như yêu cầu, phản hồi, server, client nảy ra trong đầu nhưng không thể nối thành một câu tự nhiên.
Bởi vì chưa từng luyện tập nói từ định nghĩa đến nguyên lý theo một mạch.
Đây không phải là thiếu kiến thức, mà là thiếu cấu trúc hóa.
Những người không chuyên ngành · sinh viên chuẩn bị tìm việc · người chuẩn bị chuyển việc, v.v. sắp có phỏng vấn kỹ thuật và cần có thể tổng hợp bằng lời các kiến thức cơ bản về CS
Sinh viên chuyên ngành cần phải ôn tập lại

Đã từng học qua rồi nhưng
không dám nghĩ đến việc phải tổng hợp lại tất cả những kiến thức CS đó
Đừng mở lại
những cuốn sách chuyên ngành dày cộp.
Chúng tôi sẽ tổng hợp chắc chắn chỉ những điều cốt lõi.
Người không chuyên ngành cảm thấy bối rối về CS

Chuẩn bị phỏng vấn kỹ thuật
lần đầu nên không biết
phải bắt đầu từ đâu
Theo lộ trình, bạn có thể
tập trung học tập chỉ những
khái niệm CS cốt lõi chính.
Người chuẩn bị chuyển việc không có thời gian

Thôi được rồi, tôi không có thời gian.
Chỉ cần
tổng hợp nhanh CS xuất hiện trong phỏng vấn thôi
Có tài liệu bài gi강 và
chương phỏng vấn giúp bạn
có thể ôn tập nhanh chóng một mình.
1⃣ Thời lượng học ngắn gọn và tập trung cao
Thời lượng bài giảng không gây áp lực, có thể hoàn thành ngay cả với lịch trình bận rộn và có thể ôn tập nhanh chóng ngay trước khi phỏng vấn
Nén tóm những điểm cốt lõi, được thiết kế để có thể hoàn thành toàn bộ khóa học trong thời gian ngắn
Tôi đã tập trung vào việc hoàn thành khóa học chính là hiệu quả học tập lớn nhất, thay vì chỉ tích trữ các khóa học như mua sắm.
2⃣ Khóa học chuẩn bị phỏng vấn tổng hợp những điểm cốt lõi
Đã tổng hợp và chính lý các khái niệm và nguyên lý cần thiết phải kiểm tra trước khi phỏng vấn
Tôi đã cấu trúc để vừa bổ sung kiến thức nền tảng, vừa có thể sử dụng như tài liệu chuẩn bị phỏng vấn một cách tối ưu
Không chỉ là tóm tắt đơn giản, mà được cấu trúc với sơ đồ và giải thích dễ hiểu để ngay cả những người không chuyên cũng có thể hiểu đầy đủ
Có thể tổng hợp nhanh chóng những nội dung chính, đồng thời học tập một cách thuyết phục về lý do tại sao chúng lại quan trọng
3⃣ Phụ lục [Luyện tập phỏng vấn] được đính kèm
Trong phỏng vấn, khả năng giải thích một cách rõ ràng và mạch lạc quan trọng hơn nhiều so với việc chỉ đơn thuần biết kiến thức
Nhưng việc tự mình tổng hợp và luyện tập thì không dễ dàng và là công việc khá phiền phức.
Cuối tài liệu bài giảng, chúng tôi đưa vào bài tập "trả lời trong một hai câu" để giảm bớt công sức tổng kết cho bạn
"Làm thế nào để có thể tối đa hóa hiệu quả học tập hơn nữa?"
"Liệu chỉ riêng khóa học này thôi có đủ để luyện tập nói không?"
Sau khi suy nghĩ về vấn đề này, sách bài tập thực hành phỏng vấn kỹ thuật đã ra đời.
Bạn có thể luyện tập như một cuộc phỏng vấn thực tế bằng cách nói to và rõ ràng.
Đây là tệp được cung cấp riêng biệt với tài liệu bài giảng,
và tập trung vào việc giúp bạn có thể
diễn đạt những gì đã hiểu bằng ngôn ngữ của chính mình.
Bạn có tò mò về cấu trúc hoặc cách sử dụng workbook không?
Bạn có thể xem chi tiết ngay bây giờ trong video giới thiệu workbook ở phần đầu của khóa học.
Xem trước PDF Workbook
1⃣ Tải xuống tài liệu và nghe bài giảng để nắm vững các khái niệm cốt lõi.
2⃣ Ghi chép trực tiếp những phần quan trọng để tạo ra sổ tay phỏng vấn CS của riêng bạn.
3⃣ Lưu vào điện thoại và ôn tập ngắn gọn bất cứ khi nào có thời gian rảnh.
Trước khi phỏng vấn,
nếu không có thời gian → Phụ lục tài liệu bài giảng [Luyện tập phỏng vấn] để nhanh chóng nâng cao cảm giác phỏng vấn.
Nếu có thời gian → Workbook thực chiến phỏng vấn kỹ thuật để hoàn thiện việc luyện tập nói như phỏng vấn thực tế.
Khóa học này ngắn nhưng 'không hề nông cạn'.
Nén nội dung đồ sộ lại, chỉ tổng hợp những điểm cốt lõi thực sự được hỏi trong phỏng vấn.
Loại bỏ những lý thuyết không cần thiết và đi sâu đến mức có thể trả lời cả những câu hỏi đuổi.
Nếu bạn muốn sử dụng thời gian hạn chế một cách hiệu quả nhất, thì thời lượng ngắn này sẽ trở thành vũ khí mạnh mẽ nhất.
Tôi bắt đầu từ xuất thân không chuyên ngành nên hiểu rõ hơn ai hết sự khao khát về kiến thức nền tảng (kiến thức CS, ngôn ngữ lập trình, v.v.). Sau khi tự học và nghiên cứu vô số tài liệu, tích lũy được những kinh nghiệm riêng của mình, cuối cùng tôi đã tốt nghiệp Đại học Seoul và hiện đang làm việc với tư cách là 🧑🏻💻 lập trình viên Kakao.
Từ nhỏ, tôi đã tự tin hơn ai hết trong việc kết hợp và tái cấu trúc các tài liệu đa dạng để tạo ra 'cuốn sổ tay tổng hợp riêng của mình'. Khóa học này chính là 'bí kíp tự học siêu đẳng' cùng tất cả niềm đam mê, triết lý của tôi được kết tinh thành cuốn sổ tay bí mật.
🔥 Tại sao khóa học này lại đặc biệt?
Tất cả 'bí quyết' của tôi đều có trong đây: Tôi đã hoàn toàn thấm nhuần kinh nghiệm và bí quyết của mình khi tự học CS và ngôn ngữ lập trình với tư cách là người không chuyên ngành và được tuyển dụng vào các công ty lớn. Tôi đã đưa tất cả phương pháp về cách hiểu các khái niệm phức tạp và tr추상 một cách hiệu quả nhất và biến chúng thành của riêng mình vào khóa học này.
Bất kể lĩnh vực phát triển nào, 'nền tảng' chính là chìa khóa: Dù bạn hướng đến phát triển game, AI, phát triển web/app hay bất kỳ lĩnh vực nào, kiến thức nền tảng về khoa học máy tính không phải là lựa chọn mà là điều bắt buộc. Khóa học này sẽ giúp bạn trở thành người có thực lực thực sự dựa trên nền tảng vững chắc.
Chiến thắng bằng 'chất lượng áp đảo': Tôi đã tham khảo vô số tài liệu từ sách chuyên ngành, bài giảng của các trường đại học danh tiếng, sách trên thị trường, đến tài liệu phỏng vấn kỹ thuật để trích xuất các từ khóa cốt lõi và tái cấu trúc chúng theo cách riêng của mình. Tôi hứa sẽ giúp bạn hiểu rõ ngay cả những khái niệm phức tạp nhất với lời giải thích dễ hiểu kết hợp kinh nghiệm thực tế của tôi, cùng với các sơ đồ và hình ảnh trực quan, khiến bạn sẽ thốt lên "À, giờ tôi hiểu rồi!"
Hệ điều hành là chìa khóa cốt lõi để hiểu cách mã code mà lập trình viên viết thực sự hoạt động trên phần cứng, đồng thời là môn học thiết yếu giải quyết câu hỏi "máy tính hoạt động như thế nào".
Bạn vẫn còn bối rối về sự khác biệt giữa process và thread❓
Bạn có khó khăn trong việc trả lời rõ ràng về việc thread chia sẻ tài nguyên nào trong số Code/Data/Stack không❓
Bạn có khó khăn trong việc giải thích rõ ràng bộ nhớ ảo là gì không? Trạng thái bế tắc? Deadlock❓
Chỉ nhìn thấy từ này thôi cũng đã đau đầu, và nếu nó xuất hiện trong câu hỏi phỏng vấn thì bạn đổ mồ hôi hột?
Khóa học này dành riêng cho những người như vậy, sẽ tổng hợp một cách rõ ràng các khái niệm cốt lõi của hệ điều hành theo hướng tập trung vào sơ đồ minh họa, luồng xử lý và thực hành. Không còn cảm giác mơ hồ nữa!
Hệ điều hành làm những công việc gì trong máy tính?
→ Định nghĩa và chức năng của hệ điều hành, cũng như mối quan hệ với phần cứng được giải thích một cách có cấu trúc và rõ ràng.
Process và thread khác nhau như thế nào, và trạng thái của chúng chuyển đổi ra sao?
→ Từ sơ đồ trạng thái khó hiểu, chuyển đổi ngữ cảnh, đến đa luồng - những khái niệm phức tạp được sắp xếp gọn gàng bằng sơ đồ.
CPU chọn tiến trình theo tiêu chí nào?
→ Phân tích so sánh trực quan nguyên lý và ưu nhược điểm của các thuật toán lập lịch CPU đa dạng như preemptive/non-preemptive, FCFS, SJF, round robin, v.v.
Deadlock là gì và tại sao nó xảy ra, làm thế nào để giải quyết?
→ Học tập sâu với nhiều trường hợp khác nhau từ đồ thị phân bổ tài nguyên, điều kiện phát sinh trạng thái bế tắc, đến các phương pháp tránh/ngăn chặn/phát hiện và khôi phục.
Bộ nhớ ảo hoạt động theo nguyên lý nào?
→ Giải thích phân trang, phân đoạn, thuật toán thay thế trang, v.v. bằng tài liệu trực quan phong phú để ngay cả những người không chuyên cũng có thể hiểu được.
Đĩa được quản lý và lập lịch như thế nào?
→ Tổng hợp rõ ràng các kỹ thuật lập lịch I/O đĩa đa dạng và các thành phần của hệ thống tệp bằng cách kết nối với cấu trúc thực tế.
"Deadlock là gì?", "Hãy giải thích ví dụ về thuật toán scheduling", "Tại sao cần có virtual memory?" và những câu hỏi cốt lõi thường xuất hiện trong phỏng vấn kỹ thuật như vậy, giờ đây bạn cũng có thể luyện tập tự trả lời một cách trôi chảy trong một hai câu.
Đây là mục lục và từ khóa cốt lõi mà bạn sẽ học trong khóa học này.
Nếu có từ khóa nào lạ thì hãy nắm chắc và vượt qua trong cơ hội này.
Hệ điều hành là gì
Định nghĩa và chức năng của hệ điều hành,
Phần cứng được quản lý bởi hệ điều hành
Quy trình thực hiện phần cứng
Chế độ kernel và chế độ người dùng, ngắt,
System call,
Quá trình thực hiện chương trình
Quy trình
Ngữ cảnh và trạng thái của tiến trình,
Khối điều khiển tiến trình,
Thread và Multi-threading
Lập lịch CPU
Thước đo hiệu suất lập lịch CPU và đa dạng
Thuật toán lập lịch CPU,
Chuyển đổi ngữ cảnh
Đồng bộ hóa tiến trình và Deadlock
Race Condition, critical section,
Semaphore, Mutex,
Deadlock
Quản lý bộ nhớ & Bộ nhớ ảo
RAM, MMU,
Phân trang,
Phân đoạn, bộ nhớ ảo, thuật toán thay thế trang
Hệ thống tập tin & Quản lý đĩa
Bảo vệ tệp, phương thức phân bổ tệp,
Các thành phần cấu tạo dữ liệu của ổ cứng,
Kỹ thuật lập lịch đĩa
[Phụ lục] Luyện tập phỏng vấn
Ôn tập lại các khái niệm chính một lần nữa dưới dạng hỏi đáp
Hệ điều hành kết nối với CPU, bộ nhớ, đĩa cứng như thế nào - cung cấp luồng tổng thể
Cấu trúc hiểu biết trực quan từng bước từ tạo tiến trình đến lập lịch, ảo hóa bộ nhớ
Chi tiết mục lục bài giảng
Chế độ người dùng/chế độ kernel, phân trang, lập lịch và các khái niệm phức tạp khác của hệ điều hành được giải thích từng bước một cách dễ hiểu thông qua việc viết tay trực tiếp lên các sơ đồ trực quan.
Đặc biệt CPU và hệ điều hành tương tác như thế nào để thực thi chương trình và xử lý đầu vào/đầu ra, chúng ta sẽ theo dõi luồng đó với các sơ đồ chi tiết, nhằm mục tiêu hiểu hoàn toàn thay vì chỉ ghi nhớ khái niệm.
Quy trình chi tiết thực hiện lệnh chương trình
Semaphore, mutex và các kỹ thuật đồng bộ hóa tiến trình cùng với điều kiện phát sinh và chiến lược giải quyết tình trạng bế tắc (Deadlock) được trình bày sâu sắc thông qua các ví dụ code thực tế và sơ đồ minh họa đồ thị phân bổ tài nguyên.
Ngoài ra, từ phân trang, phân đoạn và các nguyên lý hoạt động của bộ nhớ ảo đến lập lịch I/O đĩa, phương thức phân bổ tệp, chúng tôi phân tích chi tiết các thuật toán và cơ chế phức tạp cùng với tài liệu trực quan để cung cấp kiến thức cốt lõi cần thiết cho phỏng vấn và công việc thực tế.
Giải quyết vấn đề Critical Section thông qua Semaphore
Chuyển đổi trạng thái của tiến trình
Kỹ thuật chuyển đổi địa chỉ của phân trang
Ví dụ sơ đồ hóa phương thức phân bổ tệp
Luyện tập tóm tắt một hai câu cho các câu hỏi thường gặp trong phỏng vấn
Tổng hợp thành "trạng thái có thể giải thích được" thay vì tập trung vào việc ghi nhớ
Bao gồm chương luyện tập phỏng vấn
Tổng hợp các câu hỏi cốt lõi của quy trình
Nếu video bị dừng, vui lòng làm mới trang :)
Giải thích các thuật toán thay thế trang trong bộ nhớ ảo
Giải thích các kỹ thuật lập lịch đĩa
Lộ trình làm chủ phỏng vấn kỹ thuật
Định dạng tài liệu học tập được cung cấp: PDF
Khóa học này dành cho ai?
Người mới bắt đầu học khoa học máy tính (CS) lần đầu tiên học hệ điều hành
Sinh viên chuẩn bị việc làm, chuyển việc muốn tổng hợp nhanh lý thuyết hệ điều hành để chuẩn bị cho phỏng vấn kỹ thuật
Các lập trình viên cảm thấy bối rối về khái niệm OS hoặc chỉ biết một cách rời rạc và muốn nắm bắt được luồng tổng thể
Cần biết trước khi bắt đầu?
Bạn nên tham gia khóa học [Kiến trúc máy tính](miễn phí) của series này trước thì sẽ tốt hơn!
2,684
Học viên
127
Đánh giá
18
Trả lời
4.9
Xếp hạng
7
Các khóa học
About Me
카카오에서 서버 개발자로 일하며, CS 개념을 빠르게 이해하고
면접에서 말로 풀어낼 수 있도록 돕는 '말이 트이는 CS' 시리즈를 만들고 있습니다.
학력 및 경력
서울대학교 졸업
현 카카오 서버 개발자
강의 철학
컴퓨터 비전공자로 개발을 시작해 CS 기초부터 기술 면접까지 직접 정리하며 시행착오를 많이 겪었습니다. 그 과정에서 쌓인 학습법과 개념 정리 노하우를 바탕으로, 실무와 면접에서 꼭 마주치는 핵심 개념을 그림으로 쉽게 이해할 수 있도록 만드는 콘텐츠를 제작하고 있습니다.
"그때의 저에게 필요했던 강의를 만들고 있습니다."
강의 스타일
핵심만 3~4시간에 압축
도해 중심의 구조적 설명
면접 질문을 기준으로 구성
워크북으로 실전 답변까지 연습
블로그
yiyj1030.tistory.com
→ CS, 알고리즘, 실무 개념을 쉽고 정리하는 기술 블로그 운영 중
Contact
yiyj1030@gmail.com
Tất cả
25 bài giảng ∙ (3giờ 23phút)
Tài liệu khóa học:
Tất cả
10 đánh giá
5.0
10 đánh giá
Đánh giá 4
∙
Đánh giá trung bình 5.0
Đánh giá 11
∙
Đánh giá trung bình 4.5
Đánh giá 7
∙
Đánh giá trung bình 5.0
Đánh giá 7
∙
Đánh giá trung bình 5.0
Đã chỉnh sửa
5
1. Bài giảng cho thấy tác giả đã suy nghĩ và cân nhắc rất nhiều từ góc độ học viên (có vẻ như đã xem xét dòng chảy hiểu biết của người học) 2. Tài liệu trực quan và ví dụ đa dạng giúp dễ hiểu 3. Khi học kiến thức, tác giả đề cập và nhắc lại nội dung đã học trước đó để kết nối kiến thức. Kiến thức được kết nối và vẽ nên bức tranh tổng thể. 4. Độ sâu kiến thức không hề nông cạn. Đang học hệ điều hành ngay sau khi học kiến trúc máy tính, hiệu ứng tương tác rất tốt. 5. Giải đáp thỏa đáng những thắc mắc về "tại sao" & "tại sao lại sử dụng". ps. Xin lỗi tác giả nhưng... đây là bài giảng mà tôi chỉ muốn mình biết thôi.
PrivilegeEscalate cảm ơn bạn. Cảm giác như bạn hiểu hết những phần mình đã suy nghĩ và quan tâm khi tạo ra khóa học, thật cảm động :)
Đánh giá 87
∙
Đánh giá trung bình 4.5
Ưu đãi có thời hạn, kết thúc sau 7 ngày ngày
16.170 ₫
30%
506.805 ₫
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!