JavaRush /Blog Java /Random-VI /Câu hỏi kỹ thuật khi phỏng vấn
Roman Beekeeper
Mức độ

Câu hỏi kỹ thuật khi phỏng vấn

Xuất bản trong nhóm
Vì vậy, cuộc phỏng vấn đã diễn ra theo kế hoạch này
  1. JavaCore
  2. OOP
  3. NGHỈ NGƠI
  4. Cơ sở dữ liệu
  5. Các công cụ bạn sử dụng.
Những câu hỏi chuyên môn khi phỏng vấn - 1

JavaCore

  • Đầu tiên, tôi được yêu cầu vẽ thứ bậc các giao diện cho Bộ sưu tập (việc này không khó, chỉ có một vài giao diện trong số đó (Bộ sưu tập, Danh sách, Bộ, Hàng đợi, Bản đồ).
  • Sự khác biệt giữa ArrayList và LinkedList là gì (đây là một trong những câu hỏi và câu trả lời khó hiểu nhất trên internet, chỉ là bóng tối).
  • Chúng tôi đã thảo luận về tốc độ thực hiện truy vấn trong đó và sự khác biệt giữa các trang tính.
  • Câu hỏi về lớp Object. Phương pháp của anh ấy là gì, họ làm gì?
  • Sự phản xạ. Phương thức getClass() làm gì? Câu hỏi rất thú vị, xin hãy xem xét nó. Đặc biệt là về cách lấy mọi thứ về một lớp, ngay cả khi nó chứa các phương thức hoặc biến riêng tư.
  • Họ hỏi về đa luồng. Tôi nghĩ thật yếu khi nói cho bạn biết bạn hiểu đa luồng là gì. Những gì cần thiết để bắt đầu một chủ đề mới. Thực tế mà nói, nếu bạn ở cấp độ 20+, thì những câu hỏi này sẽ có vẻ buồn cười đối với bạn.
  • Bạn có thể nói gì về Stream. Đây không phải là về Java 8. Nó là về luồng đầu vào và đầu ra. Giống như các giao diện cơ bản, chúng là gì (ký tự và byte). Để hiểu, không có chi tiết cụ thể.
  • Ngoại lệ. Ở đây, một lần nữa, chúng ta được yêu cầu vẽ ra một hệ thống phân cấp các trường hợp ngoại lệ, có những loại nào, loại nào được chọn và loại nào không được chọn. Phải làm gì với các ngoại lệ trong Thời gian chạy. Đặt tên cho NullPointerException phổ biến nhất. Câu hỏi đặt ra là nên làm gì với các ngoại lệ đã được kiểm tra (chuyển tiếp hoặc xử lý - cả hai đều rõ ràng).

OOP

  • Tóm lại OOP là gì?
  • Có những mô hình lập trình nào khác? Chúng khác với OOP như thế nào?
  • Các nguyên tắc cơ bản của OOP (kế thừa, đa hình và đóng gói) là gì? Hãy cho chúng tôi biết về mỗi người trong số họ. Cho đến nay mọi thứ đều trừu tượng, không gắn liền với bất kỳ ngôn ngữ nào.
  • Nhiệm vụ tìm hiểu thiết kế hệ thống: có Ngựa và có Chim. Chúng ta cần có được Pegasus. Nguyên tắc “có a” và “là a”

NGHỈ NGƠI

  • REST là gì. Wikipedia nói về điều này rất thú vị. Trên thực tế, một bài viết từ Wikipedia là đủ để làm quen.
  • HTTP. Ở đây cũng có những cụm từ chung chung. Phương pháp của anh ấy, mỗi phương pháp đều dùng để làm gì.
  • Mã trạng thái HTTP. Nó nên được chia thành năm phần nào? Hãy cho chúng tôi biết về những phần nổi tiếng nhất (200,204,404,500,501). Tại sao họ làm vậy? Họ cũng hỏi về 401 và 403. Nhưng tôi không biết họ. Họ nói rằng họ quan trọng.

Cơ sở dữ liệu

Ở đây tôi đã nói với bạn rằng tôi biết MySQL. Anh ấy nói với tôi về ba hình thức bình thường. Anh ấy đã nói về các phép nối, chúng là gì và vẽ ra điểm giao nhau của các khu vực trong đó các phép nối khác nhau được sử dụng. Tôi đã nói về cách tôi hiểu cơ sở dữ liệu quan hệ. Tôi chưa quên MongoDB - đó là cơ sở dữ liệu NoSQL. Sau một thời gian tôi cũng sẽ viết về điều này. Sẽ rất tốt nếu biết và hiểu giao dịch là gì. ACID là gì? Mức độ cách nhiệt là gì? Kiến thức này cho thấy rõ mức độ nào.

Các công cụ khác

Ở đây chúng tôi đã xem qua sơ yếu lý lịch của tôi. Người ta viết rằng tôi sử dụng Maven/Gradle để lắp ráp, tôi sử dụng JIRA cho các tác vụ, git, Docker, Swagger. Để tích hợp liên tục - Stash, Bamboo, Puppet. Để thử nghiệm JUnit, Mockito, JMeter. Có thể tôi đã quên điều gì đó, vì vậy nếu bạn quan tâm, hãy hỏi trong phần bình luận và tôi sẽ cố gắng trả lời. Bất cứ ai thích bài viết và thấy nó hữu ích - hãy đánh giá và viết bình luận. Ngoài ra, hãy đăng ký tài khoản github của tôi romankh3. Xem thêm các bài viết khác của tôi: - Làm thế nào để tìm được việc làm? Lời khuyên cho việc gửi sơ yếu lý lịch. Bài viết từ nhóm Random - Câu chuyện thành công. 20 giờ một tuần để lập trình, lấy bằng thạc sĩ và cuộc sống cá nhân - Sự kiệt sức về nghề nghiệp. Làm thế nào để chống lại?
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION