Chủ Nhật, 2 tháng 4, 2023

Các câu hỏi về Oracle PL/SQL thông dụng?

Oracle PL/SQL là gì?

MỤC LỤC NỘI DUNG

Người phỏng vấn của bạn có thể hỏi câu hỏi này để kiểm tra xem bạn có biết ngôn ngữ lập trình phát triển như thế nào không. Để trả lời nó, hãy trình bày ngắn gọn về các khả năng của Tập đoàn Oracle và PL/SQL.

Ví dụ: “Tập đoàn Oracle đã thiết kế ngôn ngữ thủ tục PL/SQL vào những năm 1980. Nó là một biến thể của chương trình cơ sở dữ liệu mạnh mẽ Oracle SQL. PL/SQL hoạt động như một phần mở rộng SQL và cú pháp của nó có thể chứa các câu lệnh SQL. Nó cũng nâng cao khả năng của SQL. Máy chủ Cơ sở dữ liệu Oracle biên dịch các đơn vị chương trình PL/SQL. Nó cũng nhúng ngôn ngữ lập trình cùng với các ngôn ngữ SQL và Java.

Một số đặc điểm của Oracle PL/SQL là gì?

Để viết mã hiệu quả trong PL / SQL, bạn nên biết cách sử dụng nhiều tính năng của nó. Người phỏng vấn của bạn có thể hỏi câu hỏi này để tìm hiểu xem bạn có hiểu những ưu điểm của ngôn ngữ lập trình hay không.

Ví dụ: “PL / SQL là một ngôn ngữ lập trình di động cho phép bạn viết mã trên bất kỳ hệ điều hành nào với Oracle. Nó cung cấp khả năng kiểm tra lỗi rộng rãi, nhiều kiểu dữ liệu và một loạt các cấu trúc lập trình. Nó cũng hỗ trợ lập trình hướng đối tượng, lập trình có cấu trúc và phát triển ứng dụng web và máy chủ. Với PL/SQL, nhiều ứng dụng có thể truy cập và chia sẻ các chương trình con giống nhau. Ngoài ra, nó cung cấp mức độ bảo mật cao. ”

Sự khác biệt giữa Oracle SQL và PL/SQL là gì?

Người phỏng vấn của bạn có thể hỏi câu hỏi này để kiểm tra xem bạn có biết sử dụng ngôn ngữ nào cho một mục đích cụ thể hay không. Để trả lời, bạn có thể giải thích một vài điểm khác biệt.

Ví dụ: “Trong khi SQL là một ngôn ngữ truy vấn, PL / SQL là một ngôn ngữ thủ tục. SQL có thể chạy một lệnh tại một thời điểm và PL / SQL chạy một khối mã. Bạn có thể sử dụng SQL để viết ngôn ngữ định nghĩa cơ sở dữ liệu và các câu lệnh và truy vấn ngôn ngữ thao tác cơ sở dữ liệu. PL / SQL hữu ích để viết các khối chương trình, thủ tục, hàm, trình kích hoạt và gói.

SQL thực hiện các hoạt động dựa trên tập hợp và quản lý dữ liệu trong hệ quản trị cơ sở dữ liệu. PL / SQL mở rộng khả năng của SQL với các thủ tục được lưu trữ. Đó là mã dựa trên máy chủ có thể thực hiện các hoạt động phức tạp hơn. Bạn có thể nhúng SQL vào PL / SQL, nhưng không thể ngược lại ”.

Các kiểu dữ liệu có sẵn trong PL/SQL là gì?

Kiến thức về các kiểu dữ liệu PL / SQL, khả năng và hạn chế của chúng có thể giúp các lập trình viên tinh chỉnh các truy vấn cơ sở dữ liệu. Bạn có thể trả lời câu hỏi này bằng cách giải thích cách hoạt động của các kiểu dữ liệu này.

Ví dụ: “PL / SQL có bốn kiểu dữ liệu được xác định trước — Vô hướng, Tổng hợp, Tham chiếu và Đối tượng Lớn — và các kiểu con dữ liệu có thể xác định khác. Cùng với nhau, các kiểu dữ liệu và kiểu con này xác định định dạng lưu trữ, các ràng buộc, phạm vi giá trị hợp lệ và hoạt động của tất cả các hằng số, biến và tham số.

Kiểu dữ liệu Scalar có các giá trị đơn lẻ và không có phần bên trong. Nó chia thành các kiểu dữ liệu ký tự, số, boolean và ngày / giờ. Kiểu dữ liệu tổng hợp có các kiểu dữ liệu và các phần bên trong có thể truy cập riêng biệt. Con trỏ của kiểu dữ liệu tham chiếu xác định các mục chương trình và dữ liệu khác. Bộ định vị của kiểu dữ liệu Đối tượng Lớn hướng chúng ta đến nơi các đối tượng lớn như văn bản, video và hình ảnh được lưu trữ riêng biệt ”.

Gói PL/SQL là gì? Nó bao gồm những gì?

Bằng cách hỏi câu hỏi này, người phỏng vấn của bạn có thể muốn biết liệu bạn có thể làm việc với các hệ thống cơ sở dữ liệu lớn hay không. Những thứ này yêu cầu lập trình dễ bảo trì, có thể tái sử dụng với các tính năng mà gói PL / SQL cung cấp.

Ví dụ: “Một gói PL / SQL là một đối tượng cơ sở dữ liệu / lược đồ được lưu trữ. Nó chứa các nhóm các kiểu dữ liệu và chương trình con có liên quan trong một phần tử duy nhất. Hai phần của gói PL / SQL là đặc tả gói và phần thân gói.

Với đặc tả gói, bạn có thể xác định các thủ tục công khai, hàm, biến, đối tượng, con trỏ, chương trình con, hằng số và ngoại lệ. Vì bạn có thể truy cập tất cả các phần tử đã khai báo này từ bên ngoài gói, chúng được gọi là phần tử công khai.

Phần thân gói chứa các định nghĩa được mã hóa của tất cả các chương trình con và phần tử đã khai báo cũng như một số chương trình con và phần tử chưa được khai báo và riêng tư. ”

Một số lợi ích của gói PL/SQL là gì?

Người phỏng vấn của bạn có thể sẽ hỏi câu hỏi này để xác định xem bạn có hiểu vai trò của gói PL / SQL trong việc phát triển ứng dụng hay không. Cung cấp một vài ví dụ về cách các gói cải thiện chức năng và hiệu suất.

Ví dụ: “Bạn có thể sử dụng gói PL / SQL để lưu trữ các hàm và thủ tục liên quan trong một đơn vị. Vì nó cho phép bộ nhớ tải nhiều đối tượng cùng một lúc, bạn sẽ có được hiệu suất được cải thiện. Ngoài ra, vì tất cả các khối mã chạy cùng một lúc, nên có ít lưu lượng truy cập hơn và điều này cũng hỗ trợ hiệu suất.

Với gói PL / SQL, các nhà phát triển có thể triển khai thiết kế hướng đối tượng theo kiểu từ trên xuống. Họ có thể tạo giao diện bằng cách tham chiếu đến mã ẩn trong gói PL/SQL. Tiếp theo, họ có thể thực hiện và kiểm soát việc sử dụng các mô-đun gói và cấu trúc dữ liệu.

Việc sửa đổi một mô-đun trong gói PL / SQL cho phép bạn thực hiện các thay đổi tương tự trong một gói khác. Đó là bởi vì các đối tượng gói PL / SQL hoạt động như dữ liệu chung cho tất cả các đối tượng ứng dụng khác ”.

Phép nối trong PL/SQL là gì và có bao nhiêu kiểu phép nối?

Mục đích của câu hỏi này là khám phá xem bạn có biết điều gì liên quan đến việc trích xuất dữ liệu từ các bảng khác nhau hay không. Nó là kiến ​​thức cần thiết trong lập trình ứng dụng cơ sở dữ liệu.

Ví dụ: “Tham gia truy xuất dữ liệu từ nhiều bảng và kết hợp dữ liệu này để đưa ra một tập kết quả duy nhất. Bạn có thể sử dụng các cách tiếp cận cú pháp nối không ANSI và ANSI để nối các bảng. Trong khi cú pháp nối không ANSI được sử dụng rộng rãi, nhiều nhà phát triển thích cú pháp nối ANSI mới hơn. Nó đơn giản hơn để sử dụng, có sự hỗ trợ của nhiều công cụ cơ sở dữ liệu và cung cấp nhiều chức năng hơn.

Con trỏ PL/SQL là gì?

Với câu hỏi này, người phỏng vấn của bạn sẽ muốn kiểm tra sự hiểu biết của bạn về con trỏ PL / SQL trong việc viết mã để truy xuất dữ liệu.

Ví dụ: “Chương trình PL / SQL sử dụng con trỏ để chọn và truy xuất nhiều hàng dữ liệu từ cơ sở dữ liệu. PL / SQL sau đó xử lý riêng từng hàng này.

PL / SQL có hai loại con trỏ — con trỏ rõ ràng và con trỏ ngầm. Nếu bạn đang viết mã cho các truy vấn phải trả về nhiều hơn một hàng, bạn nên khai báo và đặt tên cho một con trỏ rõ ràng. Mặt khác, PL / SQL tự động tạo ra các con trỏ ngầm về việc thực thi bất kỳ câu lệnh SQL nào. Các con trỏ ngầm không có bất kỳ định nghĩa nào ”.

Giải thích quy trình biên dịch PL/SQL

Đây là một câu hỏi thường được hỏi để kiểm tra kiến ​​thức của bạn về cách quá trình biên dịch có thể cải thiện hiệu suất ứng dụng.

Ví dụ: “Cần thiết để thực thi chương trình PL / SQL, quá trình biên dịch bao gồm việc kiểm tra cú pháp của mã PL / SQL và giải quyết các lỗi biên dịch.

Biên dịch gốc liên quan đến việc liệt kê các mô-đun PL / SQL thành mã gốc có sẵn trong các thư viện được chia sẻ. Bạn có thể truy cập các thư viện này trong từ điển dữ liệu. Các thủ tục mô-đun hoặc các thủ tục mà bạn viết sẽ dịch sang mã C. Sau đó, trình biên dịch AC tập hợp và liên kết chúng động với quy trình Oracle. Nếu không có trình biên dịch C, bạn có thể đặt một tham số phiên trước khi viết mã.

Ngoài ra, thay vì biên dịch gốc, bạn có thể tạo và cải thiện mã bytecode, còn được gọi là MCode. Từ điển cơ sở dữ liệu lưu trữ nó và công cụ thời gian chạy PL / SQL đọc và chạy nó. ”

Khó khăn lớn nhất mà bạn gặp phải trong lập trình PL/SQL là gì và bạn đã vượt qua nó như thế nào?

Người phỏng vấn của bạn có thể sẽ hỏi câu hỏi này để khám phá xem bạn có thể giải quyết các vấn đề công việc hay không. Nói về các dự án lập trình trong quá khứ và hiện tại của bạn. Giải thích vai trò của bạn trong dự án và các nhiệm vụ bạn đã đảm nhận. Sau đó, mở rộng về một số vấn đề bạn gặp phải với PL / SQL và cách bạn khắc phục chúng. Bạn đã tìm thấy giải pháp trực tuyến hay bạn đã giải quyết nó với các thành viên trong nhóm của mình? Câu trả lời của bạn sẽ cho người phỏng vấn biết cách bạn xử lý những thất bại.

Ví dụ: “Vấn đề lớn nhất mà tôi phải đối mặt trong vai trò lập trình viên PL / SQL cuối cùng của mình là mã PL / SQL yêu cầu một cơ sở dữ liệu để hoạt động. Một ví dụ về sự cố này xảy ra khi máy chủ cơ sở dữ liệu của tôi gặp sự cố. Với cơ sở dữ liệu không hoạt động, mã không còn hoạt động. Tôi là quản trị viên cơ sở dữ liệu, vì vậy để giải quyết vấn đề, tôi đã tập trung sức lực vào việc thiết lập và chạy máy chủ cơ sở dữ liệu, đồng thời đảm bảo tỷ lệ thời gian chạy cao bằng cách triển khai phần mềm giám sát và báo cáo. Điều này dẫn đến nhiều mã chức năng hơn về tổng thể. “

Trình kích hoạt trong PL/SQL là gì?

Để trả lời, hãy đề cập đến việc tùy chỉnh hệ thống quản lý cơ sở dữ liệu với các trình kích hoạt. Cung cấp giải thích về công dụng và các thành phần của trình kích hoạt.

Ví dụ: “Trong PL / SQL, mỗi khi chúng ta thực hiện một sự kiện được liên kết với cơ sở dữ liệu, dạng xem, bảng hoặc lược đồ, cơ sở dữ liệu sẽ chạy ngay một số khối mã hoặc chương trình được lưu trữ. Những mã này được gọi là trình kích hoạt.

Cơ sở dữ liệu thực thi các trình kích hoạt để đáp lại các câu lệnh ngôn ngữ thao tác cơ sở dữ liệu như INSERT, UPDATE và DELETE. Nó cũng kích hoạt các trình kích hoạt cho các câu lệnh ngôn ngữ định nghĩa cơ sở dữ liệu như CREATE, DROP hoặc ALTER. Hơn nữa, các hoạt động cơ sở dữ liệu như LOGON, LOGOFF, STARTUP, SHUTDOWN hoặc SERVERERROR dẫn đến việc thực thi các trình kích hoạt.

Một trình kích hoạt có ba thành phần — kích hoạt câu lệnh SQL, hành động kích hoạt và các hạn chế của trình kích hoạt. Hơn nữa, có năm loại trình kích hoạt — Trình kích hoạt BEFORE, Trình kích hoạt AFTER Trình kích hoạt ROW, Trình kích hoạt câu lệnh và Trình kích hoạt kết hợp. PL / SQL hỗ trợ trình kích hoạt ROW và trình kích hoạt câu lệnh. ”

Lợi ích của việc sử dụng trigger là gì?

Người phỏng vấn của bạn sẽ muốn biết liệu bạn có thể sử dụng các trình kích hoạt để làm cho việc viết mã dễ dàng hơn hay không. Giải thích cách trình kích hoạt có thể đơn giản hóa việc sử dụng hệ thống quản lý cơ sở dữ liệu của bạn.

Ví dụ: “Trình kích hoạt giúp việc thay đổi hệ thống quản lý cơ sở dữ liệu trở nên đơn giản hơn. Ví dụ: nếu bạn muốn các giá trị cột ảo, trình kích hoạt sẽ tự động tạo các giá trị đó. Ngoài ra, với trình kích hoạt, bạn có thể ghi lại các sự kiện và lưu trữ thông tin về quyền truy cập bảng. Hơn nữa, bạn có thể áp dụng tính toàn vẹn của tham chiếu, dừng các giao dịch không hợp lệ và thông báo cho các ứng dụng đang đăng ký về cơ sở dữ liệu và các sự kiện của người dùng ”.

Xử lý ngoại lệ trong PL/SQL là gì?

Người phỏng vấn của bạn có thể hỏi câu hỏi quan trọng này để khám phá xem bạn có biết cách xử lý ngoại lệ trong PL / SQL giải quyết lỗi hay không.

Ví dụ: “Nếu tập lệnh PL / SQL đột ngột kết thúc trong các tình huống bất lợi, mã xử lý lỗi của chương trình sẽ giải quyết vấn đề. Nhờ mã, ngoại lệ được nâng lên mỗi khi có lỗi xảy ra trong chương trình. Bạn sẽ tìm thấy mã được lưu trữ trong phần EXCEPTION trong PL / SQL.

Ngoại lệ được xác định trước, Ngoại lệ không xác định và Ngoại lệ do người dùng xác định là ba loại NGOẠI LỆ trong PL / SQL. Loại đầu tiên xử lý các lỗi phổ biến có tên xác định trước, trong khi loại thứ hai quản lý các lỗi ít phổ biến hơn mà không có tên xác định trước. Ngoại lệ do người dùng xác định thay thế các quy tắc kinh doanh nhưng không gây ra lỗi thời gian chạy. ”

Lời khuyên cho trước khi phỏng vấn Oracle PL/SQL

Mặc dù chắc chắn có lợi nếu bạn có một cái nhìn tổng quát về các câu hỏi phỏng vấn có thể có trước đó. Nhưng đó thực sự chỉ là bước khởi đầu khi nói đến các bước bạn có thể thực hiện để chuẩn bị cho cuộc phỏng vấn. Dưới đây là danh sách các mẹo trước khi phỏng vấn Oracle PL / SQL:

  • Nghiên cứu công ty để hiểu văn hóa làm việc và mục tiêu của công ty. Duyệt qua trang web của công ty, kiểm tra các tài khoản mạng xã hội của họ và đọc các thông cáo báo chí của họ.
  • Kiểm tra xem kỹ năng kỹ thuật hiện tại của bạn có phù hợp với yêu cầu công việc hay không. Nếu có khoảng cách giữa chúng, hãy xem xét mở rộng kiến ​​thức PL/SQL của bạn.
  • Biên soạn danh sách các câu hỏi phỏng vấn PL/SQL và viết câu trả lời ngắn gọn cho chúng. Thu thập thông tin từ các diễn đàn lập trình khác nhau.
  • Tạo PDF câu hỏi và câu trả lời phỏng vấn PL/SQL dành cho lập trình viên có kinh nghiệm PDF để tham khảo nhanh.
  • Bên cạnh các nguồn trực tuyến, hãy hỏi các lập trình viên đồng nghiệp để biết các mẹo và lời khuyên.
  • Tự mình trả lời các câu hỏi phỏng vấn khó PL/SQL hoặc nhờ bạn bè giúp đỡ. Làm như vậy có thể cải thiện khả năng giao hàng và tăng cường sự tự tin của bạn.

Một số lưu ý

Thực hành các câu hỏi và câu trả lời phỏng vấn PL/SQL này sẽ giúp bạn nâng cao kiến ​​thức về PL/SQL, cải thiện khả năng trình bày và giúp bạn thành công trong cuộc phỏng vấn với nhà phát triển của mình. Bạn cũng có thể thực hành trả lời các câu hỏi chung về thành tích và niềm đam mê của mình.

Ngoài ra, hãy tra cứu mức lương của nhà phát triển Oracle PL/SQL trong trường hợp người phỏng vấn hỏi về yêu cầu lương của bạn.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master