Professional Documents
Culture Documents
Interface là gì?
Có thể khai báo một phương thức của interface với từ khóa static không?
Một interface có thể là final không?
Có phải mỗi khối try phải đi kèm với một khối catch?
Có trường hợp nào khối finally không được thực thi không?
Có bao nhiêu cách để tạo ra một đối tượng String trong java?
NullPointerException là gì?
Generic là gì
Exception có mấy loại
OOP (viết tắt của Object Oriented Programming) – lập trình hướng đối tượng là
một phương pháp lập trình dựa trên khái niệm về lớp và đối tượng. OOP tập trung
vào các đối tượng thao tác hơn là logic để thao tác chúng, giúp code dễ quản lý, tái
sử dụng được và dễ bảo trì.Lớp bạn có thể hiểu nó như là khuôn mẫu, đối tượng là
một thực thể thể hiện dựa trên khuôn mẫu đó. Tính “đóng gói” là việc đưa tất cả
thông tin, dữ liệu quan trọng vào bên trong một đối tượng (object),Che dấu dữ
liệu (Data Hiding) là việc một số dữ liệu (data) và hàm/phương thức
(functions/methods) được class che giấu đi (ở dạng private) để đảm bảo rằng các
dữ liệu đó sẽ được truy cập và sử dụng đúng mục đích, đúng cách thông qua các
hàm/phương thức (functions/methods) ở dạng public mà class cung cấp. Bạn
không thể truy cập đến các private data hoặc gọi đến private methods của class từ
bên ngoài class đó.
Tính kế thừa cho phép xây dựng một lớp mới (lớp Con), kế thừa và tái sử dụng các
thuộc tính, phương thức dựa trên lớp cũ (lớp Cha) đã có trước đó.
Các lớp Con kế thừa toàn bộ thành phần của lớp Cha và không cần phải định nghĩa
lại. Lớp Con có thể mở rộng các thành phần kế thừa hoặc bổ sung những thành
phần mới.Tính đa hình trong lập trình OOP cho phép các đối tượng khác nhau thực
thi chức năng giống nhau theo những cách khác nhau. có overload lúc complie,
override lúc runtime. Tính trừu tượng giúp loại bỏ những thứ phức tạp, không cần
thiết của đối tượng và chỉ tập trung vào những gì cốt lõi, quan trọng và Trong Java,
chúng là sử dụng abstract class và abstract interface để có tính trừu tượng.
Đối tượng là một thực thể tại runtime, trạng thái của nó được lưu trữ trong các
trường và hành vi được thể hiện thông qua các phương thức.
Các phương thức vận hành trên trạng thái nội tại của đối tượng và đóng vai trò
như là cơ chế chính để giao tiếp giữa các đối tượng với nhau.
Một lớp là một thiết kế (blueprint) từ đó các đối tượng riêng lẻ được tạo.
Một lớp có thể chứa các trường và các phương thức để miêu tả hành vi của một
đối tượng.
Một lớp có thể gồm biến local, biến instance, và biến lớp.
Các biến được định nghĩa bên trong phương thức, constructor hoặc các khối được
gọi là biến local.
Biến này sẽ được khai báo và khởi tạo bên trong phương thức và nó sẽ bị hủy khi
phương thức kết thúc.
Java cung cấp một số Access Modifier để thiết lập mức độ truy cập cho các lớp, các
biến, phương thức và constructor. Một thành viên có khả năng truy cập mặc định
khi không có Access Modifier nào được xác định.
JAR là viết tắt của Java Archive và nó kết hợp nhiều file lại thành một. Nó giữ các
lớp Java trong một thư viện. JAR file được xây dựng trên định dạng ZIP file và có
đuôi là .jar.
constructor là một phương thức đặc biệt, nó được dùng để khởi tạo và trả về đối
tượng của lớp mà nó được định nghĩa. Constructor sẽ có tên trùng với tên của lớp
mà nó được định nghĩa và chúng không được định nghĩa một kiểu giá trị trả về.
Ngoài ra, các nhà developer cũng có thể sử dụng access modifiers trong khi khai
báo Constructor.
không, constructor không thể là final.
Biến static có thể được sử dụng để tham chiếu thuộc tính chung của tất cả đối
tượng (mà không là duy nhất cho mỗi đối tượng), ví dụ như tên công ty của nhân
viên, tên trường học của các sinh viên, …
Biến static lấy bộ nhớ chỉ một lần trong Class Area tại thời gian tải lớp đó.
Một phương thức static thuộc lớp chứ không phải đối tượng của lớp.
Một phương thức static gọi mà không cần tạo một instance của một lớp.
Phương thức static có thể truy cập biến static và có thể thay đổi giá trị của nó.
Bởi vì không cần thiết phải tạo đối tượng để gọi phương thức static.
Nếu nó là phương thức non-static, JVM đầu tiên tạo đối tượng và sau đó gọi
phương thức main() mà có thể gây ra vấn đề về cấp phát bộ nhớ bộ nhớ phụ.
Chương trình được biên dịch, nhưng gặp lỗi ngoại lệ tại runtime là
"NoSuchMethodError".
Không
Nó là một từ khóa mà tham chiếu trực tiếp đến đối tượng của lớp cha.
Nếu một lớp có nhiều phương thức có tên giống nhau nhưng các tham số khác
nhau, được gọi là overloading phương thức (nạp chồng phương thức). Nó giúp
code rõ ràng, dễ hiểu hơn.
Bởi vì đó là sự không rõ ràng, không biết gọi phương thức nào khi runtime.
Nếu lớp con có phương thức giống lớp cha được gọi là ghi đè (overriding) phương
thức trong java.
Nói cách khác, nếu lớp con cung cấp sự cài đặt cụ thể cho phương thức đã được
cung cấp bởi một lớp cha của nó được gọi là ghi đè (overriding) phương thức trong
java.
không thể ghi đè phương thức static vì chúng thuộc về class chứ không thuộc về
đối tượng.
Nếu bạn tạo một biến với từ khóa final, bạn sẽ không thể thay đổi được giá trị của
biến đó (hằng số).
Phương thức final không thể được ghi đè.
Lớp final không thể được kế thừa.
Một Interface trong Java là một bản thiết kế của một lớp. Nó chỉ có các phương
thức trừu tượng. Interface là một kỹ thuật để thu được tình trừu tượng hoàn toàn
và đa kế thừa trong Java.
Không. Vì mặc định các phương thức của một interface là trừu tượng, từ khóa
static và abtract không thể được sử dụng chung với nhau.
Không. Vì cài đặt phải được cung cấp bởi một lớp khác.
Nó không phải là cần thiết mà mỗi khối thử phải được theo sau bởi một khối
catch. Nó phải được theo sau bởi một khối catch hoặc một khối finally. Và bất kỳ
trường hợp ngoại lệ có thể bị ném sẽ được khai báo với từ khóa throws của
phương thức.
Khối lệnh finally trong java được sử dụng để thực thi các lệnh quan trọng như
đóng kết nối, đóng các stream,…
Khối lệnh finally trong java luôn được thực thi cho dù có ngoại lệ xảy ra hay không.
Khối lệnh finally trong java được khai báo sau khối lệnh try hoặc sau khối lệnh
catch.
Có. Bởi khối try. Khối finally phải theo sau khối try hoặc catch.
Khối finally không được thực thi nếu chương trình bị thoát (bằng cách gọi
System.exit() hoặc lỗi phần cứng.
Ý nghĩa đơn giản của immutable là không thể sửa đổi hoặc không thể thay đổi
được. Một khi đối tượng String đã được tạo ra, giá trị của nó không thể thay đổi.
Bởi vì java sử dụng khái niệm về string literal. Giả sử có 5 biến tham chiếu, tất cả
các tham chiếu đến một đối tượng "hello". Nếu một biến tham chiếu thay đổi giá
trị của đối tượng, nó sẽ bị ảnh hưởng đến tất cả các biến tham chiếu khác. Đó là lý
do tại sao đối tượng String trong java immutable (bất biến).
Một lớp được khai báo bên trong một lớp khác được gọi là lớp lồng nhau. Có 4 loại
lớp bên trong lớp lồng nhau: member inner class, local inner class, annonymous
inner class và static nested.
Có. Nó được biết đến như nested interface.
Có. Nhưng chúng không liên quan đến nhau.
List có thể chứa các phần tử trùng lặp (dublicate), trong khi Set chỉ chứa các phần
tử duy nhất.
HashSet không duy trì thứ tự nào, trong khi TreeSet duy trì thứ tự tăng dần.
Set chỉ chứa giá trị, trong khi Map chứa cặp key và value.
Một NullPointerException được ném khi gọi phương thức instance của một đối
tượng Null, truy cập hoặc sửa đổi các trường của một đối tượng Null,…
Đây là các lớp cho phép các kiểu dữ liệu gốc để được truy cập như là các đối
tượng. Ví dụ: Integer, Character, Double, Boolean, …
Lệnh break chấm dứt một lệnh mà nó áp dụng (switch, for, do, hoặc while). Một
lệnh continue được sử dụng để kết thúc vòng lặp hiện tại và trả về điều khiển cho
lệnh vòng lặp.
Biến private chỉ có thể được truy cập bên trong lớp mà nó được khai báo.
Generics là một tính năng của Java giúp cho lập trình viên có thể chỉ định rõ kiểu
dữ liệu mà họ muốn làm việc với một class, một interface hay một phương thức
nào đó.
Trong Java có 3 loại exception là Error, checked exception, và unchecked exception
(runtime exception).
Error: là những lỗi nghiêm trọng xảy ra đối khi chương trình hoạt động mà lập trình
viên không thể kiểm soát. Ví dụ như lỗi phần cứng, tràn bộ nhớ, hay lỗi của JVM.
Checked exceptions: lã những exception ta phải xử lý ngai khi viết code, vì nó được
kiểm tra bởi trình biên dịch Javac. Ví dụ: ClassNotFoundException,
NoSuchFieldException...
Unchecked exceptions: là những excepton chỉ xảy ra khi chương trình chạy, nghĩa
là trình biên dịch Javac không "phát hiện" ra khi biên dịch, do vậy programmer
không thể xử lý khi viết code. Ví dụ: NullPointerException,
ArrayIndexOutOfBoundsException, DivideByZeroException...
Level
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
SQL là gì?
'view' là gì?
‘constraint’ là gì?
‘query’ là gì?
Trigger là gì ?
Subquery là gì?
Collation là gì?
Sự khác biệt chính “delete” là lệnh xóa một hàng từ bảng, trong khi “truncate”
xóa tất cả chúng.
Một điểm khác biệt nữa là khi sử dụng “delete”, nếu có sự cố hoặc không theo
kế hoạch, bạn có thể thực hiện khôi phục dữ liệu - điều này không thể thực hiện
được sau khi lệnh “truncate” được thực hiện. Ngoài ra, lệnh truncate thực hiện
nhanh hơn. ALL
SQL Server là một hệ thống quản lý cơ sở dữ liệu (Database Management
System - DBMS). Nó tập hợp và phân tích dữ liệu, cập nhật và quản trị cơ sở dữ
liệu. ALL
Một “table“ trong hệ thống dữ liệu được tổ chức đơn giản thành các hàng và
cột riêng biệt. Một “field” là một số cột trong một bảng. ALL
Lệnh “join” kết hợp các hàng từ các bảng khác nhau. Cách các hàng này được
kết hợp phụ thuộc vào cột liên quan tham gia chúng. Với lệnh này, bạn có thể
hợp nhất hai bảng thành một hoặc đơn giản là truyền dữ liệu từ bảng này sang
bảng khác.
Từ khóa JOIN được dùng để nạp dữ liệu từ 2 hay nhiều bảng liên quan. Sử dụng
từ khóa JOIN khi cần truy vấn các cột dữ liệu từ nhiều bảng khác nhau để trả về
trong cùng một tập kết quả.
INNER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
CROSS JOIN
SELF JOIN ALL
Một “view” đơn giản là một đại diện ảo của một “table“. Hơn nữa, các view có
thể có nhiều dữ liệu được biểu thị và kết hợp - điều đó rất phụ thuộc vào tình
huống và mối quan hệ. 2 UP
Ràng buộc (Constraint) là các quy tắc được áp dụng trên các cột dữ liệu của một
bảng. Chúng được sử dụng để kiểm tra tính hợp lệ của dữ liệu đầu vào, đảm bảo
tính chính xác, độ tin cậy và tính toàn vẹn của dữ liệu trong database. ALL
Như chính thuật ngữ này, một query (truy vấn) chỉ đơn giản là một câu hỏi. Câu
hỏi này được gửi đến cơ sở dữ liệu thông qua một mã code cụ thể để lấy một số
loại thông tin từ nó. ALL
Khóa chính (Primary key) là một cột hoặc một tập hợp các cột xác định duy nhất
mỗi hàng trong bảng. ALL
Khóa duy nhất (Unique Key) là những gì xác định duy nhất một hàng trong bảng
như được đề cập trong phần giải thích Khóa chính.
Index (chỉ mục) là phương pháp nâng cao hiệu suất, cụ thể là - lấy thông tin từ
cơ sở dữ liệu với tốc độ và hiệu quả cao hơn. 2 UP
Một bảng có thể có nhiều hơn một khóa ngoại nhưng chỉ có một khóa chính. ALL
Khi được lưu trữ trong cơ sở dữ liệu, varchar chỉ sử dụng không gian được phân
bổ. Ví dụ. nếu bạn có một varchar (1999) và đặt 50 byte trong bảng, nó sẽ sử
dụng 52 byte(2 byte tiền tố chiều dài).
Nhưng khi được lưu trữ trong cơ sở dữ liệu, char luôn sử dụng độ dài tối đa và
được đệm trắng. Ví dụ. nếu bạn có char (1999) và đặt 50 byte trong bảng, nó sẽ
tiêu thụ 2000 byte. 2 UP
1. Khung nhìn (view) có thể được xem như là một bảng “ảo” trong cơ sở dữ liệu
có nội dung được định nghĩa thông qua một truy vấn (câu lệnh SELECT). Như
vậy, một khung nhìn trông giống như một bảng với dữ liệu quan sát được là một
tập bao gồm các dòng và các cột. Điểm khác biệt giữa khung nhìn và bảng là:
khung nhìn không được xem là một cấu trúc lưu trữ dữ liệu tồn tại trong cơ sở
dữ liệu. Thực chất dữ liệu quan sát được trong khung nhìn được lấy từ các bảng
thông qua câu lệnh truy vấn dữ liệu.
2. Một thủ tục là một đối tượng trong cơ sở dữ liệu bao gồm một tập nhiều câu
lệnh SQL được nhóm lại với nhau thành một nhóm (như tập tin BAT trong DOS
vậy). Khi một thủ tục lưu trữ đã được định nghĩa, nó có thể được gọi thông qua
tên thủ tục, nhận các tham số truyền vào, thực thi các câu lệnh SQL bên trong
thủ tục và có thể trả về các giá trị sau khi thực hiện xong.
3. Một trigger là một đối tượng với nội dung là một tập các câu lệnh SQL (tương
tự thủ tục). Mỗi một trigger gắn liền với một bảng nào đó trong CSDL và được tự
động kích hoạt khi xảy ra những giao tác làm thay đổi dữ liệu trong bảng
(INSERT, UPDATE, DELETE).
Điểm khác biệt giữa thủ tục lưu trữ và trigger là: các thủ tục lưu trữ được thực
thi khi người sử dụng có lời gọi đến chúng còn các trigger lại được "gọi" tự động
khi xảy ra những giao tác làm thay đổi dữ liệu trong các bảng
4. Function: giống như produre nhưng có kết quả trả về và không thể thực thi
các câu lệnh làm thay đổi dữ liệu của hệ thống 2 UP
A Join: cho phép kết nối dữ liệu liên quan trong các bảng khác nhau
A Union: hợp dữ liệu của 2 bảng mà có các cột loại data giống nhau ALL
UNION và UNION ALL đều dùng để hợp hai tập bản ghi cùng cấu trúc, nhưng
giữa hai mệnh đề có một khác biệt khá tinh tế: UNION loại bỏ các bản ghi trùng
lặp trước khi trả lại kết quả, còn UNION ALL giữ lại tất cả các bản ghi từ hai tập
ban đầu ALL
where là câu lệnh dùng để đặt điều kiện lọc trên từng bộ.
Having cũng là câu lệnh đặt điều kiện nhưng là ở trên 1 nhóm xác định. thường
là đi kèm với câu lệnh group by 2 UP
ALTER TABLE table_name ADD (column_name); ALL
Trigger là một thủ tục dược thực thi từ phía máy chủ CSDL khi một sự kiện bảng
xảy ra (Chèn, cập nhật hoặc xóa lệnh thực hiện đối với một bảng cụ thể) . 2 UP
DML là viết tắt của Ngôn ngữ Thao tác Dữ liệu ( Data Manipulation Language):
INSERT, UPDATE và DELETE là các câu lệnh DML.
DDL là viết tắt của Ngôn ngữ Định nghĩa Dữ liệu (Data Definition Language):
CREATE, ALTER, DROP, RENAME là các câu lệnh DDL. 2 UP
SELECT column_name AS new_name FROM table_name; ALL
DELETE xóa một hoặc tất cả các hàng từ một bảng dựa trên điều kiện và có thể
được phục hồi lại.
DROP xóa hoàn toàn một bảng từ cơ sở dữ liệu.
TRUNCATE xóa tất cả các hàng từ một bảng bằng cách phân bổ các trang bộ nhớ
và không thể phục hồi lại ALL
Một bảng có thể chỉ có một PRIMARY KEY và có thể không có hoặc có mộ hay
nhiều UNIQUE keys.
PRIMARY KEY không thể chứa giá trị Null , UNIQUE có thể chứa giá trị Null. ALL
Truy vấn con (còn được gọi truy vấn phụ hay truy vấn lồng nhau) là một truy vấn
bên trong truy vấn SQL khác và được nhúng bên trong mệnh đề WHERE. ALL
Tối ưu hóa truy vấn là một quá trình trong đó hệ thống cơ sở dữ liệu so sánh các
chiến lược truy vấn khác nhau và chọn truy vấn với chi phí thấp nhất. 2 UP
Bộ quy tắc định nghĩa cách dữ liệu được lưu trữ, cách phân biệt chữ hoa chữ
thường và ký tự Kana có thể được xử lý như thế nào. ALL
Chế độ xem hạn chế quyền truy cập vào dữ liệu vì chế độ xem có thể hiển thị
các cột được chọn từ bảng.
Có thể sử dụng chế độ xem để truy vấn các kết quả tìm kiếm phức tạp. Ví dụ:
chế độ xem có thể được sử dụng để truy vấn thông tin từ nhiều bảng mà không
có sự hiểu biết của người dùng. 2 UP
Lược đồ là tập hợp các đối tượng cơ sở dữ liệu của Người dùng. ALL
những tính năng của Spring Framework là gì?
MVC' là gì?
‘Boot’ là gì?
IOC' là gì?
‘bean’ là gì?
Tại sao nên sử dụng ‘constructor injection’ cho injecting
bean?
AOP là gì?
‘join point’ là gì?
‘advice’ là gì?
‘autowriting’ là gì?
ORM là gì
Nhẹ khi nói về dung lượng (size) và tính minh bạch (transparency).
Trong Spring framework, các đối tượng cung cấp các phụ thuộc của chúng thay vì tạo hoặc tìm
kiếm các đối tượng phụ thuộc. Quá trình này được gọi là Inversion of Control (IOC).
Lập trình hướng theo khía cạnh trong Spring framework hỗ trợ phát triển gắn kết bằng cách tách
logic kinh doanh ứng dụng khỏi các dịch vụ hệ thống.
Spring framework tạo và quản lý vòng đời và cấu hình của các đối tượng ứng dụng.
Khung framework ứng dụng web Model-View-Control trong Java Spring có cấu hình cao. Ngoài ra,
nó cho phép sử dụng các khung framework khác thay vì nó.
Spring framework cung cấp một lớp trừu tượng chung để quản lý giao dịch.
Spring cung cấp lớp trừu tượng kết nối cơ sở dữ liệu Java để đơn giản hóa chiến lược xử lý lỗi.
MVC là mô hình thiết kế đươc viết tắt từ 3 thành phần là Model – View – Controller.
View: Giao diện hiển thị, tương tác với người dùng
Dependency injection được sử dụng để cung cấp các phụ thuộc cụ thể nhất định cho các đối
tượng. Đó là một mẫu thiết kế làm cho các dự án mượt mà hơn và phù hợp hơn cho các hoạt
động như thử nghiệm.
Spring Boot là một phiên bản của Spring mà mục đích để làm cho ứng dụng tạo ra quá trình sắp
xếp hợp lý hơn. Một trong những tính năng chính của nó là loại bỏ nhu cầu xác định cấu hình
boilerplate (bản mẫu) - chắc chắn, điều này sẽ khiến rất nhiều nhà phát triển thích thú khi học
Spring boot hay sử dụng nó.
IOC là viết tắt của Inversion of Control. Nó là core container của Java Spring. Nó sử dụng phép
dependency injection được đề cập trước đó để quản lý và định cấu hình các ứng dụng tích hợp
khác nhau. Hiện tại có hai loại IOC có thể được đặt trong Java Spring - ApplicationContext và
BeanFactory.
“Bean” là một đối tượng được tích hợp và cấu hình bởi IOC container.
Lý do tại sao nên sử dụng loại injection này đơn giản là vì kiểu injection này làm cho quá trình kiểm
tra sau đó dễ dàng hơn rất nhiều.
AOP (Aspect-Oriented Programming) là viết tắt của Lập trình hướng theo khía cạnh. Nó khác với
OOP (Object-Oriented Programming - Lập trình hướng đối tượng) ở chỗ OOP tập trung vào các
lớp, trong khi đơn vị mô đun chính của AOP là khía cạnh. Trong AOP, các khía cạnh thực hiện và
nhấn mạnh mối liên quan xuyên suốt
Join point thể hiện một điểm trong chương trình nơi khung AOP sẽ được khởi tạo và áp dụng.
ất cứ khi nào một khía cạnh thực hiện một số loại hành động trong joinpoint đó, thì hành động đó
được gọi là một “advice”.
Các nhà phát triển sử dụng 'initilizr' vì họ muốn tối đa hóa năng suất trong khoảng thời gian ngắn
nhất có thể. Công cụ này tuyệt vời ở chỗ nó cung cấp một khuôn mẫu ban đầu cho dự án và đơn
giản hóa quá trình xây dựng tập lệnh.
Có ba cách để làm điều đó:
Constructor Injection
Setter Injection
Interface Injection
Trong Spring framework, chủ yếu là constructor và setter injection được sử dụng.
‘Autowriting‘ cho phép nhà phát triển tự động inject bean vào ứng dụng của mình mà không cần
can thiệp thủ công.
Lệnh @Autowired cho phép bạn linh hoạt quyết định nơi muốn wire đối tượng của mình. Lệnh
này làm cho quá trình dễ dàng và mượt mà hơn, cho phép độ chính xác cao hơn.
Lệnh này được sử dụng bất cứ khi nào bạn muốn sắp xếp một phương thức HTTP cụ thể đến một
lớp cụ thể. Bạn có thể sử dụng lệnh này trong cả hai cấp độ lớp và phương thức.
Kiểu kết hợp này được sử dụng khi có nhiều loại bean đơn khác nhau trong ứng dụng. Sự kết hợp
này phân biệt giữa từng bean có cùng kiểu dữ liệu.
Programmatic transaction management: Có nghĩa là bạn có thể quản lý transaction với việc lập
trình. Điều này khiến mọi việc trở nên vô cùng tường minh và linh hoạt, tuy nhiên rất khó để
maintain.
Declarative transaction management: Có nghĩa là bạn phải tách biệt phần quản lý transaction với
business code. Chỉ sử dụng annotaion hoặc XML config để manage transaction.
Cung cấp một phương thức lập trình thích hợp cho việc sử dụng các transaction API khác nhau
như JDBC, Hibernate, JPA.
Cung cấp API đơn giản hơn.
Tiện lợi trong việc khai báo và sử dụng với Declarative transaction management.
Tích hợp dễ dàng với các data access abstraction.
Bước 2: Controller phân tích cần lấy dữ liệu ở đâu nên sẽ gọi đến model
Bước 3: Model phân tích yêu cầu đề lấy dữ liệu cần thiết và trả về lại cho controller
Bước 4: Controller lấy dữ liệu đó gửi cho view để lấp đầy những chỗ trống của dữ liệu còn thiếu và
hiển thị giao diện cho client
Là 1 design patten, thiết kế thêm 1 tầng repository để tương tác với database. Giúp database
được bảo mật và an toàn hơn.
RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web
services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống (tệp văn
bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định
dạng và được truyền tải qua HTTP.
ORM (Object Relational Mapping) là một kỹ thuật lập trình cho phép ánh xạ cơ sở dữ liệu đến các
đối tượng thuộc ngôn ngữ lập trình hướng đối tượng chẳng hạn như C#, Java,… (các table tương
ứng các class, mối ràng buộc giữa các table tương ứng quan hệ giữa các class ‘has a’ , ‘is a’).
2 up
1 up
2 up
2 up
2 up
2 up
2 up
2 up
2 up
2 up
2 up
2 up
2 up
ALL
ALL
1 UP
2 UP
2 UP
1 UP
2 UP
CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN LÀ GÌ?
Cấu trúc dữ liệu là một hình thức tổ chức, lưu trữ dữ liệu theo hệ thống và thứ tự để có thể sử dụng tài liệu một cách tối ưu.T
tối ưu.Thuật toán(Algorithms) là một thủ tục từng bước, xác định một tập hợp các lệnh được thực hiện theo một thứ tự nhất định để có đ
eo một thứ tự nhất định để có được đầu ra mong muốn.
HTML là gì?
Điểm khác biệt giữa “width: auto” và “width: 100%” trong CSS?
Không. Có một vài thẻ trong html mà không cần phải đóng thẻ ví dụ thẻ <image>, <br>, <hr>…
Một style sheet được sử dụng để xây dựng kiểu dáng thích hợp, thiết kế tốt cho trang web.
Phần tử HTML không có nội dung được gọi là phần tử rỗng. Ví dụ <br>, <hr>,…
Thẻ iframe được sử dụng để hiển thị dữ liệu từ một đường dẫn hoặc một trang web khác
Thẻ Meta trong html được các developer sử dụng để báo cho trình duyệt về mô tả trang, tác giả,
tập ký tự, các từ khóa và nhiều thứ khác.
Auto sẽ đạt điểm độ rộng đầy đủ và sẽ trừ đi độ rộng của border, margin, padding,…
100% sẽ buộc thẻ đó bằng độ rộng của thẻ cha và tự động nới rộng ra them nếu có them các border, padding,
margin,
Nó thể hiện như thuộc tính visibility và nó mờ dần từ 1-> 0 ( 1 -> 0.9 -> 0.8 …)
Một số tính năng nổi bật được bổ sung thêm trong CSS3: animation:
Xác định chuyển động của một thành phần appearance: Định dạng cho thành phần trông như giao diện chuẩn
gần với người dùng
Block sẽ làm thẻ đó có space trước và sau nó, và space đó sẽ chiếm hết các width có sẵn.
Inline thì chỉ xài đủ width yêu cầu.
Hiểu đơn giản thì margin căn lề ngoài và padding căn lề trong của thẻ đó.
Dùng để đặt các thẻ HTML theo hướng nằm ngang, float thường dùng 2 giá trị left và right.
Để trình duyệt nhận biết trang html đó được viết ở phiên bản nào.
Level
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
JavaScript là gì?
Sự khác biệt giữa giá trị undefined và giá trị null là gì?
Lập trình bất đồng bộ là gì? Tại sao nó lại quan trọng trong
JavaScript?
JavaScript là một ngôn ngữ kịch bản. Nó khác với ngôn ngữ Java. Đó là nền tảng dựa trên đối
tượng, nhẹ và đa nền tảng. Nó được sử dụng rộng rãi để xác thực phía máy khách, nó là một phần
giúp tạo nên những trang web động
Nó được sử dụng để hiển thị hộp thoại bật lên như hộp thoại alert, confirm, v.v.
Đối tượng history của trình duyệt có thể được sử dụng để chuyển sang các trang được lưu lại trong
lịch sử như quay lại và chuyển tiếp từ trang hiện tại hoặc trang khác. Có ba phương thức của đối
tượng history.
history.back()
history.forward()
history.go(number): tại trang web được lưu trong lịch sử với chỉ số number, number có thể âm
hoặc dương.
Toán tử == chỉ kiểm tra tính bằng nhau, trong khi === kiểm tra tính bằng nhau và giá trị kiểu dữ liệu
tức là phải cùng kiểu dữ liệu.
Giá trị undefined: Giá trị không được xác định và không có từ khóa nào được gọi là giá trị
undefined
Giá trị null: giá trị được chỉ định rõ ràng bởi từ khóa "null" được gọi là giá trị null
Không, Java và JavaScript là hai ngôn ngữ khác nhau. Java là một ngôn ngữ lập trình mạnh mẽ, bảo
mật và hướng đối tượng trong khi JavaScript là một ngôn ngữ kịch bản phía máy khách với một số
hạn chế.
ALL
ALL
ALL
ALL
ALL
ALL
1 up
1 up
1 up
2 up
Components là gì?
Computed là gì
Mounted là gì?
filter là gì?
Router là gì?
Watcher
Component là một trong những tính năng quan trọng nhất trong Vue mà
mình cần phải biết. Nó giúp cho việc kế thừa các thành phần HTML cơ bản,
dễ dàng đóng gói và tái sử dụng code ALL
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed ALL
Computed property trong Vue.js được thể hiện dưới dạng một phương
thức hoặc một object chứa các phương thức setter và getter, nhưng khi bạn
gọi một computed property thì bạn sẽ gọi nó như một thuộc tính bình
thường. Và khi đó các hành động trong computed property sẽ được thực
thi. ALL
Ở quá trình này chúng ta đã có đầy đủ quyền truy cập vào data, template,
DOM (bằng cách gọi this.$el). Mình thường dùng mounted khi dùng chung
với Jquery để tác động vào các phần tử DOM ALL
Hàm filters luôn nhận giá trị đầu tiên của biểu thức. Sau đó lọc qua giá trị
thứ 2, rồi thứ 3... Giá trị thứ 2 sẽ nhận kết quả của giá trị thứ nhất. Các giá
trị sau cũng tương tự như vậy ALL
Vue Router là module được tích hợp sâu vào Vue, giúp bạn dễ dàng tạo các
route để điều hướng ứng dụng ALL
Ngay khi component được tạo, hàm created có thể được sử dụng để thao
tác với các dữ liệu trong data và các sự kiện mà các bạn thiết lập đã có thể
được kích hoạt. Nhưng template và DOM ảo chưa được mount và render,
tức là nếu các bạn truy cập đến các phần tử trong DOM lúc này sẽ không
được và báo lỗi ALL
theo dõi, nó có nhiệm vụ theo dõi sự thay đổi của dữ liệu và thực thi hành
động kèm theo. ALL
Làm sao để xác thực người dùng khi sử dụng rest api?
Cần kết xuất dữ liệu từ ứng dụng với lượng dữ liệu vài triệu bản ghi, làm cách nào để kết xuất 1 cách nhanh chóng và không gâ
Xử lý transaction trong 1 hệ thống microservices
Làm sao để 1 người dùng chỉ được đăng nhập ở 1 phiên, không cho phép đăng nhập ở nhiều thiết bị? Trình duyệt?
Giải pháp tăng tốc độ truy vấn dữ liệu với các dữ liệu ít thay đổi?
Giải pháp quản lý log với 1 hệ thống microservices
Hệ thống có nhiều giao dịch, làm cách nào để xử lý giao dịch một cách ổn định và không gây ảnh hưởng đến hệ thống?
nhanh chóng và không gây ảnh hưởng đến hệ thống?
Trình duyệt?
ng đến hệ thống?