- vừa được xem lúc

Chia sẻ một số câu hỏi phỏng vấn về SQL Database đã gặp

0 0 3

Người đăng: LongNguyen

Theo Viblo Asia

Trong quá trình đi làm phỏng vấn ở một vài nơi, phỏng vấn với khách hàng mình gặp một số câu hỏi về SQL database. Bài viết này sẽ chia sẻ các câu hỏi mình đã gặp về SQL database, hy vọng sẽ được thảo luận cùng anh em về câu trả lời. Hoặc anh em nào có câu hỏi nào hay có thể thảo luận ở phần comment.

image.png

I. Ôn phỏng vấn gì về database (SQL Server)?

  • 4 tính chất ACID, chuẩn hóa dữ liệu (Data Normalization)
  • Cơ sở dữ liệu, cách tạo database, table, column, type, schema, view, temporary table, primary key, foregin key, constrain.
  • Các câu lệnh cơ bản: select, insert, update, delete.
  • Làm việc với index, store procedure, function, trigger, Permission, users, roles.
  • Backup, restore.
  • Tối ưu performance về query, database
  • Xử lý lỗi khi viết câu query, trong store procedure, function
  • Transaction
  • Bulk insert, bulk delete
  • Partitioning, Sharding
  • Các tool sử dụng: sql profiler, SQL Server Integration Services, Azure SQL Analytics, Query Performance Insight, sql execution plan

II. Một số câu hỏi phỏng vấn mình đã gặp

Có rất nhiều câu hỏi nhưng ở đây mình chỉ liệt kê ra các câu mình đã gặp. Nếu anh em có các câu hỏi hay có thể thêm vào phần bình luận.

  1. Các cách tối ưu sql query?
  2. Bạn có thiết kế database cho dự án không? cần lưu ý gì khi thiết kế 1 database mới cho dự án.
  3. Index là gì? có mấy loại index? tại sao phải đánh index? thuật toán sử dụng để đánh index ra sao?
  4. Trigger là gì?
  5. Nếu table có 10 cột đều cần search, trừ cột ID, mình đánh index có tất các cột khác được không? có nên làm vậy không?
  6. Store procedure là gì? lợi ích khi dùng store procedure?
  7. Cách debug khi làm việc với store procedure?
  8. Quản lý exception, lỗi khi làm việc với store procedure, function ra sao?
  9. Cách sử dụng transaction trong sql như thế nào?
  10. Khác nhau giữa Partitioning và Sharding ?
  11. Muốn insert data cỡ 1000 records thì làm cách nào?
  12. Full-Text Search là gì?
  13. Khác nhau giữa Union và Join?
  14. ETL là gì? ELT là gì? khác nhau như thế nào?
  15. Cần làm gì khi migrate DB?
  16. If you find duplicated record in the source, what will you do?
  17. How do you define when or which situation we need to convert from LinQ to raw query/procedure?

III. Các tools mình xài để làm việc với SQL Server

  • Sql profiler: sử dụng để giám sát, phân tích và chẩn đoán hiệu suất của cơ sở dữ liệu. Ví dụ ta có thể sử dụng sql profiler chọn các cột như Completed, Performance, Duration, CPU ... để đo hiệu suất truy vấn của query.

image.png

  • Sql execution plan: là một bản đồ hoặc hướng dẫn chi tiết mà SQL Server sử dụng để thực thi một câu lệnh SQL. Có các thành phần như Operators, Data Access Methods (Phương pháp Truy cập Dữ liệu), Join Methods, Estimates vs. Actuals, Costs.

  • Query performance insight: giúp quản trị viên cơ sở dữ liệu và nhà phát triển theo dõi, phân tích và cải thiện hiệu suất của các truy vấn SQL. Ví dụ ta có thể xem top queries by CPU

image.png

  • SQL Server Integration Services: Là một công cụ ETL (Extract, Transform, Load) của Microsoft SQL Server, được thiết kế để hỗ trợ các nhiệm vụ tích hợp dữ liệu, chuyển đổi dữ liệu và di chuyển dữ liệu giữa các nguồn khác nhau

  • Cảm ơn mọi người đã xem bài viết. Chúc anh em một ngày làm việc hiệu quả và đầy năng lượng. Nếu có thắc mắc về các phần trong bài này mọi người có thể inbox qua facebook:https://www.facebook.com/FriendsCode-108096425243996 Mình sẽ giải đáp thắc mắc trong tầm hiểu biết. Cảm ơn mọi người!

  • Hoặc liên hệ mình qua facebook cá nhân: https://www.facebook.com/Flamesofwars/

P/S: Team mình có nhận làm freelancer nên bạn nào cần thì liên hệ nha. (Tech-stack: .NET, Nodejs, ReactJs, Vue)

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cách kết nối Laravel vs SQL Server - Fix bug cho web laravel sau khi cài lại win

1. Laravel. . Laravel là một PHP Framework, có mã nguồn mở và miễn phí, đc xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC.

0 0 97

- vừa được xem lúc

Sự khác biệt giữa Database và Data Warehouse

Giả sử bạn có 1 lượng dữ liệu thông tin giao dịch khổng lồ, sau nhiều năm lưu trữ, chúng ta phân tích thống kê để cải thiện hệ thống. Trong hàm ý câu này chúng ta cần có Database (cơ sở dữ liệu) và Da

0 0 22

- vừa được xem lúc

Cơ sở dữ liệu máy chủ SQL bị kẹt trong trạng thái Restoring

Trong SQL Server, quá trình phục hồi cơ sở dữ liệu là một quá trình quan trọng để đảm bảo tính nhất quán và an toàn của dữ liệu. Tuy nhiên, đôi khi có thể xảy ra tình huống cơ sở dữ liệu SQL Server bị

0 0 18

- vừa được xem lúc

Cách tạo môi trường Database Mirroring trên SQL Server bằng T-SQL đơn giản và hiệu quả

Database mirroring là một trong các giải pháp thông thường của Microsoft SQL Server cho tính sẵn sàng cao (nhóm cluster, log shipping, backup và restore cơ sở dữ liệu, sao chép, v.v.

0 0 21

- vừa được xem lúc

Tối Ưu Hóa Truy Vấn SQL Server: 13 Chiến Lược để Nâng Cao Hiệu Suất

Trong môi trường phát triển phần mềm, hiệu suất của cơ sở dữ liệu là một yếu tố cực kỳ quan trọng. SQL Server là một trong những hệ quản trị cơ sở dữ liệu phổ biến nhất, và việc tối ưu hóa truy vấn tr

0 0 12

- vừa được xem lúc

30 CÂU HỎI PHỎNG VẤN SQL SERVER – 2024

Danh sách các câu hỏi và câu trả lời phỏng vấn SQL Server được tuyển chọn giúp bạn chuẩn bị cho cuộc phỏng vấn dữ liệu hiệu quả. Bài viết này giúp bạn chuẩn bị cho những cuộc phỏng vấn như vậy bằng cá

0 0 10