Các câu hỏi phỏng vấn tìm việc làm thường gặp | VietnamWorks

1 . String có phải kiểu dữ liệu trong java không? Có những cách nào khởi tạo một String? Phân biệt các cách khởi tạo đó? (Is String a data type in Java ? , How many ways to initialize a String ?
Distinguish these methods?)

Mục đích: Đánh giá
kiến thức và kinh nghiệm của ứng về và các khái niệm cơ bản trong Java
#Chiến lược trả lời: Ứng viên chủ động làm chủ câu trả lời: Nắm được khái
niệm về String và cách sử dụng thực tế, chia sẻ thêm kinh nghiệm cá nhân nếu

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
– Không phải, String là một lớp đặc biệt trong java
– Chúng ta có thể tạo đối tượng String bằng toán tử new cũng như cung cấp
các giá trị trong dấu ngoặc kép.
– Khi tạo bằng toán tử new, chúng ta sẽ ép lớp String sẽ tạo ra một đối
tượng String trong `String pool` và được lưu trữ trong bộ nhớ Java
heap.
– Khi chúng ta sử dụng dấu ngoặc kép để tạo String, trước tiên nó sẽ tìm
đối tượng String có cùng giá trị trong `String pool`, nếu không tìm thấy, nó
sẽ tạo đối tượng String mới trong `String pool` và sau đó trả về giá trị tham
chiếu.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
– It is not, string is a special class in Java,
– We can create a string object by using new operator or providing values
in quotation marks
– When creating by using new operator, we will force String classto create
a string object in “String pool” and it is stored in Java heap
– When using quotation marks to create String, It will find String object
which has same value in String pool first. If no data is returned, it will
create a new String object in String pool and return back the referenced
value.

2 . Collection có phải là framework không? Tại sao Collection lại được sử dụng trong Java? (Is Collection a framework ?
Why Collection is used in Java?)

Mục đích: Đánh giá
kiến thức và kinh nghiệm của ứng về và các khái niệm cơ bản trong Java
#Chiến lược trả lời: Hiểu được lý do vì sao Collection lại được sử dụng và
chủ động chuẩn bị thêm kiến thức về collection cho các câu hỏi mở rộng nếu
có.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
– Collection trong java là một framework
– Reduced Development Effort : Tập hợp các thao tác phổ biến, hữu dụng được
lặp đi lặp lại khi thao tác với dữ liệu. Vì vậy, chúng ta có thể tập trung
nhiều hơn vào bussiness logic kinh doanh thay vì thiết kế API bộ sưu tập của
mình.
– Increased Quality: Sử dụng các lớp bộ sưu tập cốt lõi được kiểm tra tốt
sẽ làm tăng chất lượng chương trình của chúng tôi thay vì sử dụng bất kỳ cấu
trúc dữ liệu nào tự phát triển.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
– Collection in Java is a framework
– Reduced Development Effort: A collection of common manipulations. It is
iterated when handling data so that we are able to focus more on business
logic rather than designing API collection on their owns.
– Increased Quality: Using available core collections will increase
application quality rathers than using any data structure which is developed
on your owns

3 . So sánh Array và ArrayList trong Java? (Compare Array and ArrayList in Java ?)

Mục đích: Đánh giá
kiến thức và kinh nghiệm của ứng về và các khái niệm cơ bản trong Java
#Chiến lược trả lời: Ứng viên chủ động làm chủ câu trả lời: Trả lời các
khái niệm về Array và ArrayList, so sánh và trình bày thêm kinh nghiệm cá
nhân khi xử lý Array và ArrayList nếu có.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
* Array:
– Là một mảng có kích thước cố định và không thể thay đổi kích thước nếu
được tạo.
– Có thể lưu trữ kiểu dữ liệu nguyên thủy và đối tượng.
– Kiểm tra kích thước bằng thuộc tính length.
– Các phần tử được thêm vào bằng cách gán giá trị.
– Không hỗ trợ kiểu Generic.
* ArrayList:
– Kích thước có thể thay đổi được.
– Chỉ lưu trữ kiểu dữ liệu đối tượng.
– Kiểm tra kích thước bằng thuộc tính size.
– Các phần tử được thêm vào bằng phương thức add.
– Hỗ trợ kiểu Generic.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
* Array:
– it is an array have a static size and uneditable after created.
– Can be store primitive data type and object.
– checking size by using length.
– Elements are added by using assigning value.
– Not suppport Generic type.
* ArrayList:
– Size is editable
– Only store data object type.
– Checking size by using size attribute.
– Elements are added by using add method
– Support Generic Type.

4 . Ưu nhược điểm của lâp trình đang luồng trong Java? (Pros and Cons of multithreading in Java?)

Mục đích: Đánh giá
kiến thức và kinh nghiệm của ứng về và các khái niệm cơ bản trong Java
#Chiến lược trả lời: Ứng viên chủ động làm chủ câu trả lời: Trả lời trọng
tâm câu hỏi và chuẩn bị cho thêm kinh nghiệm cá nhân trong vấn đề lập trinh
đa luồng nếu có.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
*Ưu điểm:
– Tiết kiệm thời gian: Ứng dụng có thể được được hiện nhiều công việc độc
lập khác nhau cùng một lúc.
– Độc lập : Mỗi một luồng hoạt động độc lập không ảnh hưởng đến nhau, nếu
có ngoại lệ xảy ra cũng chỉ ảnh hưởng trong luồng đó.
*Nhược điểm:
– Cần phải xử lý các vấn đề liên quan đến luồng như tranh chấp bộ nhớ, đồng
bộ dữ liệu, xử lý các luồng chết (dead lock).

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
* Advantages:
– Saving time: The application can be excecuted many individual tasks in
the same time.
– Independance: Each of thread works individually, If there is an
exception, the effect is only on that thread.
* Disadvantages:
– Need to handle related problems such as disputing memory, syncronous
data, addressing dead lock.

5 . Khi nào thì sử dụng Interface Class trong Java? (When We use Interface Class in Java?)

Mục đích: Đánh giá
kiến thức và kinh nghiệm của ứng về và các khái niệm cơ bản trong Java
#Chiến lược trả lời: Ứng viên chủ động làm chủ câu trả lời: Trả lời trọng
tâm câu hỏi và trình bày thêm kinh nghiệp cá nhân nếu có.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
– Đa thừa kế
– Tạo dựng một bộ khung chuẩn gồm các chức năng (method/ function) mà tất
cả module/ project phải có.
– Các module phải implements tất cả chức năng đã được định nghĩa.
– Cung cấp các hành vi bổ sung cho class cụ thể và nhưng hành vi này không
bắt buộc với class đó.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
– Multilevel Inheritance.
– Creating a pattern including features ( methods, functions ), which all
of modules/projects need to have.
– Providing some added behaviors for specific classes but these behaviors
are not mandatory for those classes.