JobsManagement JobsInterview QuestionSalary

: Most common job interview questions and anwsers examples

1. Nêu Sự khác biệt giữa element attribute và element property (Different between element attribute and element property)
Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
- Các attributes được định nghĩa bên trong HTML, trong khi các properties được truy cập từ cây DOM, từ đó nodes là các objects và chúng có properties.
- 1 số HTML attributes có quan hệ 1:1 với properties, như là "id" và "value", trong khi những attributes còn lại thì khác, như là attribute "class" và property "className"
- 1 số attributes không có mối quân hệ với properties và ngược lại
- 1 số giá trị attribute thì không tương đương với giá trị property như là , thẻ checked input có thể có attributes checked là "true" , nhưng giá trị property có thể là "false"


Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
'- Attributes are usually defined within HTML, while properties are acessed from DOM nodes, since these nodes are object, so they have properties.
- Some HTML attributes have 1:1 mapping to properties, such as `id` and `value`, while other attributes are different, such as attribute `class` and property `className`
- Some attributes does not have corespoding properties, and vice versa.
- Sometimes the attribute value is not equal the property value, such as, a checked input could have `checked` attribute value as `true`, but the property value could be `false`
2. Nêu sự khác nhau giữa thẻ div và span ? , thẻ strong và thẻ b (Describe the differences between div and span, strong and b)
Answer:
- Div is a block level element, while span is an inline element.
- Div should be used to wrap a big section of a document, while span should be used for a small area such as an image, or a link
- Both `strong` and `b` would have the same visual effect for most users looking at the browser.
- However `b` is a style: `bold` so text should look `bold`, while `strong` is `how something should look`, so if you want to make a text strong, i could be bold or big, dark in color, or even both italic and bold, etc...
=> Since HTML is not about styling, it's about semantic, so we should use each tag as how it was created for
3. CSS selector specificity là gì và nó hoạt động như thế nào ? (What is CSS selector specificity and how it works?)
Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
- Specificity là đặc tính quan trọng được áp dụng khi viết css. Mỗi element có thể có nhiều class, Specificity giúp browser quyết định được class nào là quan trọng sau đó apply những property của nó vào element.

- Ví Dụ:
+ Lớp "B" có "mức độ" là 10 thì sẽ quan trọng hơn thẻ a với "mức độ" là 1
+ Id "#C" có "mức độ" là 100 thì quan trọng hơn thẻ a với class "a.b" mưc độ là 11
- Chúng ta không nên dùng !important trong trường hợp không thực sự cần thiết. Bởi vì chỉ có 1 !important khác thì mới có thể ghi đè lên được.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
- Specificity is a weight that is applied to a given CSS declaration. Each element could have multiple classes, Specificity would help browser to decide which class is the most important one, to apply its properties on an element
- For example
+ a class `.b` would have a weight of 10 be more important than a tag `a` with a weight of 1.
+ and an id `#c (weight 100) is more important than a tag with a class `a.b` (weight 11)
- We should never use !important if it's not really neccessary. As only another !important could overwrite it
4. tham chiếu của kiểu object trong javascript là gì ? hoạt động như thế nào ? (What is Object Reference in JavaScript)
Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
Bất cứ khi nào chúng ta khai báo 1 biến là object, thực sự chúng chỉ đang tham chiếu đến object đó. Nếu chung ta gán 1 biến khác vào biến trước đó, chúng chỉ copy tham chiếu và cả 2 biến lúc này thiếu chiếu đến cùng 1 một object. Thay đổi giá trị của object sẽ thay đổi giá trị của cả 2 biến.

- Nếu chúng ta thực sự muốn copy/clone 1 object, chúng ta nên sử dụng "deep copy" tất cả các thuộc tính của chúng. Điều này có nghĩa là nếu chúng ta xóa 1 property của Object vừa tạo, thì nó sẽ không thay đổi object ban đầu ( original one )

- Để sử dụng "deep copy" và không ràng buộc tham chiếu đến object cũ, chúng ta có thể sử dụng rest parameter ( ...) , hoặc Object.assign() , hoặc JSON.stringify()

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
- Whenever we declare a variable that holds an ojbect, it only holds the reference to that object. If we assign another variable to that previous variable, it only copies the reference and both variables now hold a reference to the same object. Modifying the object would change it values for both variables.
- So if we ever want to copy an object, we should "deep copy" all of its properties. This we deleting a property of the newly created object would not change the original object
- To deep copy and break preference, we could use the `...`, or Object.assign(), or JSON.stringify()
5. Nêu sự khác biệt giữa 3 toán tử &&, || , ? (Ternary operator, &&, || , ?.)
Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
- Toán tử 3 biến số thì tương đương với câu lệnh "if":
- Ví dụ : true ? "yes" : "No" // tương đương với "yes"
- a && b nghĩa là : khi a đúng, thì kiểm tra tiếp sang biến số b
- a || b nghĩa là: nếu a sai , thì kiểm tra tiếp sang b, thường được dùng như là giá trị mặc định như là tham số đầu vào và biến
- ? là toán tử Optional Channing: "?" tương đương với "." , ngoại trừ thay vì gây ra lỗi nếu 1 tham chiếu là null hoặc undefined, toán tử này sẽ trả về undefined


Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
- Ternary operator is similar to a shorthand of `if`:
```
true ? 'Yes' : 'No' //Evaluates to "Yes"
```
- a && b means, when the first expression is true, the evaluate the second expression
- a || b means, if the first expression is false, evaluate the second expression, this is usually used as `defaul value` for parameters and variables

?. is the optional chaining operator. The ?. operator is similarly to the . operator, except that instead of causing an error if a reference is `null` or `undefined`, the expression returns value of `undefined`

Other common Interview questions and answers examples

1. Giới thiệu sơ lược về bản thân bạn? (Could you briefly Introduce yourself?)
Hầu hết nhà tuyển dụng đều dùng câu hỏi này để bắt đầu câu chuyện với ứng viên. Mục đích câu hỏi này là để đánh giá phong thái và cách trình bày của ứng viên. Lúc này, tùy thuộc vào câu trả lời của ứng viên mà nhà tuyển dụng sẽ đánh giá đây có phải là một ứng viên phù hợp hay không và đưa ra các câu hỏi tiếp theo để đánh giá kỹ năng, tính cách và kinh nghiệm làm việc.

Tip: Để trả lời tốt câu hỏi này, bạn cần đưa ra khái quát những thông tin về cá nhân có liên quan, hữu ích cho vị trí mà mình ứng tuyển như: công việc hiện tại, trình độ học vấn, mục tiêu sự nghiệp,… Bạn nên cân nhắc giới thiệu bản thân theo trình tự thời gian quá khứ, hiện tại và tương lai cũng như gói gọn trong tối đa 2 phút. Chia sẻ ngắn về sở thích, tính cách cũng là một cách thu hút nhà tuyển dụng, tuy nhiên cũng không nên nói quá nhiều về những vấn đề này với nhà tuyển dụng.

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
"Trước khi giới thiệu về bản thân mình, em/tôi xin gửi lời cảm ơn chân thành tới anh/chị khi đã tạo cơ hội cho em/tôi để được trao đổi về vị trí ứng tuyển của quý công ty. Em chào anh/ chị, tên em là Mai, họ tên đầy đủ của em là Trịnh Thị Tuyết Mai. Em là sinh viên mới ra trường của Trường đại học X, trong thời gian làm sinh viên em đã từng tham gia một số công việc bán thời gian nhưng không thật sự ấn tượng, vì các công việc em làm khá đơn giản, tuy vậy thông qua chúng em học được tính kiên nhẫn và tỉ mỉ. Thông qua các hoạt động này, em có kinh nghiệm hơn trong việc nắm bắt tâm lý người khác, có thêm những kỹ năng như quan sát, có khả năng chịu áp lực cao. Và em tin những điều này sẽ có ích đối với vị trí này. Qua tìm hiểu kỹ về vị trí công việc và môi trường làm việc bên mình cũng như những kinh nghiệm và sở trường em đang có, em thực sự mong muốn được có cơ hội được làm việc cùng anh chị tại công ty Y với vị trí nhân viên tư vấn khách hàng."

Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
"Before I introduce myself, I would like to thank you very much for giving me / me the opportunity to talk about the position of your company. / sister, my name is Mai, my full name is Trinh Thi Tuyet Mai. I am a fresh graduate of University X, when I was a student, I used to have some part-time jobs but none is not really significant, because the work I did was quite simple. Nonetheless I learned to be patient and meticulous. Through these jobs, I have more experience in interpersonal skills, observation, and high pressure tolerance. I believe these will be useful for this position through understanding carefully about the job position and working environment For me, I really want to have the opportunity to work with you at company Y as a client consultant. "