Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

Đây là bài viết được dịch bởi AI.

투잡뛰는 개발 노동자

[Không chuyên ngành, sống sót với tư cách nhà phát triển] 14. Tóm tắt nội dung phỏng vấn kỹ thuật thường gặp của nhà phát triển mới vào nghề

  • Ngôn ngữ viết: Tiếng Hàn Quốc
  • Quốc gia cơ sở: Tất cả các quốc gia country-flag

Chọn ngôn ngữ

  • Tiếng Việt
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Văn bản được tóm tắt bởi AI durumis

  • Kết hợp các câu hỏi liên quan đến kỹ thuật thường gặp trong các cuộc phỏng vấn nhà phát triển mới vào nghề, cung cấp lời giải thích về các chủ đề đa dạng như vùng bộ nhớ, cấu trúc dữ liệu, cơ sở dữ liệu, lập trình, thuật toán thay thế trang, tiến trình và luồng, OSI 7 lớp, TCP và UDP, v.v.
  • Giúp người đọc hiểu rõ hơn thông qua lời giải thích ngắn gọn về mỗi chủ đề cùng với các ví dụ điển hình.
  • Chứa đựng những thông tin hữu ích giúp người phát triển tiếp thu kiến thức kỹ thuật cơ bản cần thiết để chuẩn bị cho cuộc phỏng vấn.

Không chuyên ngành, làm thế nào để tồn tại với tư cách là nhà phát triển


#14. Những câu hỏi phỏng vấn kỹ thuật thường gặp đối với nhà phát triển mới vào nghề


[Khu vực bộ nhớ chính]

  • Khu vực mã: Khu vực lưu trữ mã nguồn của chương trình, CPU lấy lệnh (nguồn, hàm, câu lệnh điều khiển) được lưu trữ trong khu vực mã để xử lý. Ví dụ: Khi một chương trình được viết bằng ngôn ngữ C được thực thi, khu vực mã sẽ lưu trữ mã nguồn của chương trình này.
  • Khu vực dữ liệu: Khu vực lưu trữ các biến toàn cục và biến tĩnh, được phân bổ cùng với việc khởi chạy chương trình và không bị hủy cho đến khi chương trình kết thúc. Ví dụ: Khi một chương trình được viết bằng ngôn ngữ C được thực thi, khu vực dữ liệu sẽ lưu trữ các biến toàn cục hoặc biến tĩnh được khai báo trong chương trình này.
  • Khu vực ngăn xếp: Khu vực bộ nhớ tạm thời mà chương trình sử dụng, các biến cục bộ và tham số liên quan đến việc gọi hàm được lưu trữ. Được phân bổ cùng với việc gọi hàm và bị hủy khi hàm kết thúc. Ví dụ: Khi một hàm được viết bằng ngôn ngữ C được gọi, các biến cục bộ hoặc tham số được sử dụng trong hàm đó sẽ được phân bổ vào khu vực ngăn xếp.
  • Khu vực heap: Khu vực cho phép người dùng phân bổ và giải phóng động bộ nhớ. Ví dụ: Khi bạn phân bổ động bộ nhớ bằng cách sử dụng hàm malloc() trong C, khu vực bộ nhớ được phân bổ sẽ được lưu trữ trong khu vực heap.

[Cấu trúc dữ liệu]

  • Ngăn xếp: Cấu trúc dữ liệu theo phương thức LIFO (Last In First Out). Ví dụ: Nút "Quay lại" trong máy tính giống với ngăn xếp. Các trang đã truy cập trước đó được lưu trữ trong ngăn xếp và khi bạn nhấn nút "Quay lại", trang được lưu trữ gần đây nhất sẽ được lấy ra và hiển thị.
  • Hàng đợi: Cấu trúc dữ liệu theo phương thức FIFO (First In First Out). Ví dụ: Việc lấy số thứ tự ở ngân hàng và vào hàng đợi giống với hàng đợi. Người đến đầu tiên được xử lý đầu tiên và người đến sau được xử lý sau cùng.
  • Cây: Cấu trúc dữ liệu biểu diễn dữ liệu theo cấu trúc phân cấp. Ví dụ: Cây DOM của HTML giống với cây. Cấu trúc của trang HTML được biểu diễn bằng cây, bắt đầu từ nút gốc là thẻ html và các nút con được biểu diễn theo thứ tự.
  • Heap: Một trong những cấu trúc cây nhị phân, được chia thành heap tối đa và heap tối thiểu. Ví dụ: Trong hàng đợi ưu tiên, dữ liệu có mức độ ưu tiên cao nhất nằm ở nút gốc của heap và dữ liệu có mức độ ưu tiên cao thứ hai nằm ở nút con là ví dụ về heap tối đa.

[RDBMS và NoSQL]

  • RDBMS: Cơ sở dữ liệu quản lý dữ liệu theo cấu trúc, định nghĩa và quản lý dữ liệu theo sơ đồ nghiêm ngặt. Có thể lưu trữ dữ liệu phân tán và dễ dàng sửa đổi. Ví dụ: MySQL, Oracle, MS-SQL là những ví dụ điển hình về RDBMS.
  • NoSQL: Cơ sở dữ liệu lưu trữ và quản lý dữ liệu theo sơ đồ linh hoạt. Thích hợp cho việc xử lý và lưu trữ dữ liệu khối lượng lớn, khả năng mở rộng cao. Ví dụ: MongoDB, Cassandra, HBase là những ví dụ điển hình về NoSQL.

[Lập trình hướng thủ tục và hướng đối tượng]

  • Lập trình hướng thủ tục: Kỹ thuật lập trình coi trọng việc xử lý theo trình tự. Các ngôn ngữ như C, Pascal là những ngôn ngữ hướng thủ tục.
  • Lập trình hướng đối tượng: Phương pháp xử lý bằng cách liên kết logic dữ liệu và thủ tục dựa trên khái niệm đối tượng (Object). Các ngôn ngữ như Java, C++, Python là những ngôn ngữ hướng đối tượng. Ví dụ: Trong chương trình mô phỏng ô tô, ô tô được biểu diễn dưới dạng đối tượng, các thuộc tính của ô tô (màu sắc, gia tốc,...) được biểu diễn bằng dữ liệu, các chức năng mà ô tô thực hiện (chạy, dừng,...) được biểu diễn bằng phương thức.

[Ghi đè và quá tải]

  • Ghi đè: Việc định nghĩa lại phương thức mà lớp cha sở hữu trong lớp con để sử dụng. Khi lớp con gọi phương thức của lớp cha, phương thức được định nghĩa lại trong lớp con sẽ được thực thi thay vì phương thức của lớp cha. Ví dụ: Phương thức toString() trong Java là ví dụ về ghi đè.
  • Quá tải: Việc định nghĩa nhiều phương thức cùng tên nhưng khác nhau về kiểu và số lượng tham số để đáp ứng các loại cuộc gọi khác nhau. Các phương thức có tham số khác nhau nhưng cùng tên sẽ hoạt động. Ví dụ: Phương thức print() trong Java là ví dụ về quá tải.

[Thuật toán thay thế trang]

  • FIFO: Thuật toán thay thế trang lâu nhất được tải vào bộ nhớ vật lý. Việc "Đóng" trong thanh tác vụ của máy tính cũng tương tự như thuật toán FIFO. Chương trình được thực thi đầu tiên sẽ được hiển thị cuối cùng và được đóng.
  • LRU: Thuật toán thay thế trang chưa được sử dụng lâu nhất. Ứng dụng "Kết thúc ứng dụng" để đóng các ứng dụng ít được sử dụng và đã cũ cũng tương tự như thuật toán LRU.
  • LFU: Thuật toán thay thế trang có số lần tham chiếu ít nhất. Ví dụ: Chức năng "Đóng tab" trong trình duyệt web đóng tab được mở gần đây nhất và được sử dụng ít nhất cũng tương tự như thuật toán LFU.
  • MFU: Thuật toán thay thế trang có số lần tham chiếu nhiều nhất. Thuật toán MFU hiếm khi được sử dụng.

[Quá trình và luồng]

  • Quá trình: Đơn vị công việc thực thi được phân bổ từ hệ điều hành, có nghĩa là chương trình. Khi nhiều quá trình được thực thi đồng thời, mỗi quá trình sẽ được phân bổ bộ nhớ và CPU độc lập.
  • Luồng: Đơn vị thực thi hoạt động trong quá trình, chia sẻ tài nguyên được phân bổ cho quá trình và được thực thi. Ví dụ: Mỗi tab trong trình duyệt web hoạt động như một luồng chứ không phải là một quá trình.

[OSI 7Layer]

  • Lớp ứng dụng: Lớp kết nối người dùng với mạng, bao gồm các giao thức như HTTP, FTP, SMTP.
  • Lớp trình bày: Lớp định nghĩa cách thức biểu diễn dữ liệu, bao gồm các giao thức như JPEG, MPEG, SSL.
  • Lớp phiên: Lớp quản lý phiên giữa hai hệ thống đang giao tiếp.
  • Lớp truyền tải: Lớp chịu trách nhiệm truyền dữ liệu, bao gồm các giao thức như TCP, UDP.
  • Lớp mạng: Lớp thiết lập đường dẫn để truyền dữ liệu, bao gồm các giao thức như IP, ICMP.
  • Lớp liên kết dữ liệu: Lớp truyền dữ liệu dựa trên địa chỉ vật lý (địa chỉ MAC), bao gồm các giao thức như Ethernet, Token Ring.
  • Lớp vật lý: Lớp chịu trách nhiệm truyền thông về kết nối vật lý và phương tiện truyền thông.

[TCP và UDP]

  • TCP: Dịch vụ định hướng kết nối, cách thức truyền dữ liệu đáng tin cậy. Thiết lập hoặc hủy kết nối bằng cách sử dụng phương thức 3-way handshaking và 4-way handshaking. Ví dụ: Khi đăng nhập vào trang web hoặc truyền tệp, bạn sẽ sử dụng TCP.
  • UDP: Dịch vụ không định hướng kết nối, không qua các thủ tục tín hiệu để truyền dữ liệu, độ tin cậy của dữ liệu thấp nhưng tốc độ xử lý nhanh. Ví dụ: Trong phát trực tuyến video hoặc trò chơi trực tuyến, truyền tải nhanh là rất quan trọng nên sử dụng UDP.
TheCareer
투잡뛰는 개발 노동자
코딩, 취업, 이직, 경제에 관심 많은 IT 노동자
TheCareer
[Phi chuyên ngành, sống sót với tư cách là nhà phát triển] 13. Phỏng vấn kỹ thuật cho nhà phát triển mới vào nghề Bài viết giới thiệu 7 câu hỏi thường gặp trong phỏng vấn kỹ thuật cho nhà phát triển mới vào nghề và những mẹo để chuẩn bị cho cuộc phỏng vấn. Khám phá các câu hỏi và chiến lược trả lời về các lĩnh vực đa dạng như OOP, cơ sở dữ liệu, mạng, thuật toán. Chu

1 tháng 4, 2024

[Câu chuyện của nhà phát triển SI] 12. Các ngăn xếp công nghệ thường được sử dụng trong dự án SI Các nhà phát triển SI ở Hàn Quốc chủ yếu sử dụng các ngăn xếp công nghệ như Spring dựa trên Java, cơ sở dữ liệu Oracle, Mybatis, JSP, JavaScript, HTML, CSS để phát triển các hệ thống CNTT hiệu quả và ổn định, và sử dụng Eclipse làm môi trường phát triển.

19 tháng 4, 2024

[python] Python cơ bản 1 Tìm hiểu về mô-đun Python Mô-đun Python là một tệp chứa các biến, hàm, lớp, v.v., hữu ích khi bạn sử dụng mô-đun được tạo bởi người khác hoặc thu thập các biến, hàm, v.v. được sử dụng chung. Bạn có thể sử dụng từ khóa `import` để tải và sử dụng mô-đun, và bạn cũng có thể tạo và sử

27 tháng 3, 2024

[Concurrency] Atomic Operation: Memory Fence và Memory Ordering Bài đăng trên blog này giải thích cách xem xét thứ tự bộ nhớ trong các hoạt động nguyên tử và tầm quan trọng của tùy chọn Ordering. Bài viết sẽ cung cấp thông tin chi tiết về các tùy chọn Ordering khác nhau như Relaxed, Acquire, Release, AcqRel, SecCst, c
곽경직
곽경직
곽경직
곽경직
곽경직

12 tháng 4, 2024

Tương lai ngắn hạn theo quan điểm cá nhân AI sẽ mang đến những thay đổi lớn cho tương lai của các nhà phát triển. AI sẽ thay thế các tác vụ đơn giản như tạo nguyên mẫu, phát triển giao diện người dùng, nhưng các nhà phát triển có kỹ năng sẽ tập trung vào việc giải quyết vấn đề chiến lược và tạo r
Mark Ball Blog
Mark Ball Blog
Hình ảnh về tương lai theo quan điểm cá nhân
Mark Ball Blog
Mark Ball Blog

26 tháng 3, 2024

[Hiệu quả Java] Mục 6. Tránh tạo đối tượng không cần thiết Hướng dẫn về cách giảm thiểu việc tạo đối tượng không cần thiết trong Java. Đối với các đối tượng bất biến như String, Boolean, nên sử dụng literal, và đối với biểu thức chính quy, tốt nhất nên cache instance Pattern. Ngoài ra, việc auto-boxing có thể dẫn
제이온
제이온
제이온
제이온

28 tháng 4, 2024

[DB] Tiêu chí thiết lập bộ nhớ cache Đây là hướng dẫn thực hành về cách lưu trữ bộ nhớ cache cho dữ liệu được đọc thường xuyên nhưng hiếm khi được ghi. Sử dụng APM như DataDog để phân tích lịch sử cuộc gọi truy vấn RDB và hướng dẫn bạn cách chọn bảng có nhiều truy vấn truy vấn và ít truy vấn
제이온
제이온
제이온
제이온
제이온

25 tháng 4, 2024

[Đối tượng] Chương 1. Đối tượng, thiết kế Trong phát triển phần mềm, thực hành quan trọng hơn lý thuyết, và thiết kế tốt giúp làm cho mã dễ hiểu hơn và dễ dàng đáp ứng những thay đổi. Đối tượng thiết kế hướng đối tượng cung cấp một phương pháp quản lý sự phụ thuộc giữa các đối tượng hợp tác một c
제이온
제이온
제이온
제이온

28 tháng 4, 2024

Mô hình hóa dữ liệu vật lý Mô hình hóa dữ liệu vật lý là quá trình thiết kế các bảng trong cơ sở dữ liệu quan hệ để có thể sử dụng thực tế, nhằm mục tiêu tối ưu hóa hiệu suất thông qua việc tối ưu hóa dung lượng lưu trữ, phân vùng dữ liệu, thiết kế chỉ mục. Việc phân tích truy vấn
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그

9 tháng 4, 2024