Câu Hỏi Phỏng Vấn Javascript - Programming - Dạy Nhau Học Trang chủ » Câu Hỏi Lý Thuyết Javascript » Câu Hỏi Phỏng Vấn Javascript - Programming - Dạy Nhau Học Có thể bạn quan tâm Câu Hỏi Lý Thuyết Mặt Cầu Câu Hỏi Lý Thuyết Môn Luật Chứng Khoán Câu Hỏi Lý Thuyết Phenol Câu Hỏi Lý Thuyết Sa Hình B2 Câu Hỏi Lý Thuyết Sóng ánh Sáng Câu hỏi phỏng vấn javascript programming javascript Milo (Milo) January 13, 2022, 5:16pm #1 Em chào anh/chị, Em đã học javascript được 2 tháng, anh chị có thể đóng vai HR phỏng vấn em một vài câu hỏi liên quan đến javascript để em review lại kiến thức được không? Cũng như để em kiểm tra lại xem có mất gốc và vững căn bản chưa. Em xin được trả lời mọi câu hỏi liên quan đến javascript mà không tra google ạ. Em nghĩ chắc cũng có nhiều người cùng câu hỏi, mong là topic này được SEO trang 1 công cụ tìm kiếm. Em cam ơn! 4 Likes Array bị undefined trong JS Stanley00 (Stanley) January 13, 2022, 5:22pm #2 /me chưa code js bao giờ nên xin góp vui thử… Bạn phân biệt thử JavaScript với Java giống và khác nhau ở điểm nào? JS và NodeJS có gì giống/khác nhau? JS, HTML, CSS có liên quan gì nhau? 5 Likes Milo (Milo) January 14, 2022, 1:00am #3 Em xin trả lời các câu hỏi như sau: Stanley00: JS với Java giống và khác nhau ở điểm nào? Giống: JS và java đề có thể lập trình OOP, JS trước phiên bản ES6 lập trình OOP theo prototype tức mọi object sẽ được kế thừa các thuộc tính từ prototype cha. Từ ES6 trở về sau JS có thêm class, extend. Vào thập niên 90 cả js và java đều cùng 1 cty netscape phát triển, tên gọi là Javascript để marketing chứ không liên quan gì nhau. Khác: Js là dynamic type: khai báo biến không cần chỉ định kiểu dữ liệu, java là static type. JS chạy nhanh hơn vì có trình biên dịch JIT, java phải biên dịch ra byte code. Stanley00: JS và NodeJS có gì giống/khác nhau? Giống: Nodejs được viết dựa trên C++ và javascript, các framework chạy trên nodejs cũng được viết bằng javascript. Khác Nơi code được thực thi: – nodeJS chạy ở server. – javascript chạy ở trình duyệt các framework javascript chạy được trên server, thiết bị nhúng, di động, app desktop, … JS là ngôn ngữ lập trình còn nodejs là runtime environment để thực thi javascript. Nodejs chỉ chạy được trên V8 engine còn javascript chạy trên được nhiều trình duyệt khác nhau, mỗi trình duyệt lại có 1 engine khác nhau. Stanley00: JS, HTML, CSS có liên quan gì nhau? Đây là 3 thành phần thiết yếu tạo nên trang web. HTML để cho trang web có cấu trúc, làm bộ khung cho web. CSS để căn lề, làm layout, màu sắc, hiệu ứng, … cho các element HTML và để làm đẹp cho web. JS để làm cho web trở nên động bằng cách tương tác với các thành phần khác: – JS tương tác với DOM: thêm sửa xoá get value element HTML, … – JS tương tác với browser, xử file user, … – JS gửi và nhận dữ liệu giữa client và server, fetch data từ server để cập nhật lại web. 1 Like tonghoangvu (Vu Tong) January 14, 2022, 1:34am #4 Milo: Vào thập niên 90 cả js và java đều cùng 1 cty netscape phát triển Milo: JS chạy nhanh hơn vì có trình biên dịch JIT, java phải biên dịch ra byte code. Uầy, nếu chủ topic chuyên về JS thì cứ focus vào JS, đừng lấn qua Java nhiều quá thành ra “chém gió”. 4 Likes kisuluoibieng (Tên Gì Cũng Được) January 14, 2022, 2:05am #5 theo mong đợi của cá nhân mình, nếu là pv fresher, thì không biết cứ nói không biết, không cần phải cố nghĩ ra điều gì đó để “trả lời được” java và javascript chỉ giống nhau cái tên có chữ java chứ không liên quan nhau, còn lịch sử cty nào, bla bla thì cứ kệ js không sinh ra để phục vụ oop, code oop bằng js đến hiện tại cũng chỉ để các ông loè nhau mà thôi, không cần phải đưa vào câu trả lời làm gì, chỉ gây loãng, làm người hỏi có cảm giác bạn đang chém gió Milo: JS chạy nhanh hơn vì có trình biên dịch JIT, java phải biên dịch ra byte code. bạn có thể cho mình biết là kiến thức này đến từ đâu không? sẽ hay hơn nếu có những thông tin này interpreter language vs compiler language single thread vs multithread (ở đây ý muốn nói java có thể code được multithread) npm/yarn vs maven/gradle Milo: Nodejs được viết dựa trên C++ và javascript Câu này cũng không đúng luôn, javascript là ngôn ngữ, nodejs là một platform (giống giống c# với .net) cụ thể hơn thì bạn có thể tự coi trên trang chủ https://nodejs.org/en/docs/meta/topics/dependencies/ Milo: Nơi code được thực thi: – nodeJS chạy ở server. – javascript chạy ở trình duyệt các framework javascript chạy được trên server, thiết bị nhúng, di động, app desktop, … vì bạn đã nghĩ sai về nodejs (nodejs là platform, không phải ngôn ngữ), nên những câu liên quan đến việc nơi code thực thi đều vô nghĩa js trên js engine, ở đâu có js engine là ở đó chạy được code js (không nhất thiết phải là engine v8, ví dụ như trình duyệt safari xài engine khác) Milo: JS là ngôn ngữ lập trình còn nodejs là runtime environment để thực thi javascript. câu này không đúnng, runtime environment là v8, chỉ là một phần của nodejs Milo: Nodejs chỉ chạy được trên V8 engine còn javascript chạy trên được nhiều trình duyệt khác nhau, mỗi trình duyệt lại có 1 engine khác nhau. tương tự, câu này và nhiều câu khác bạn đều nhầm lần nodejs là ngôn ngữ lập trình đoạn cuối khi nói về 3 thành phần, nghe hơi lý thuyết quá, mình mong đợi một câu trả lời đơn giản hơn html: web elements css: styling for web element js: reactive for web element 8 Likes tonghoangvu (Vu Tong) January 15, 2022, 12:00pm #6 Ok mình tiếp nhé. Học JavaScript thì phải biết về bất đồng bộ rồi. Callback giúp ích gì khi viết code bất đồng bộ? Cho đoạn code sau, kết quả cho ra là gì? Giải thích. function longTask() { for (let i = 0; i < 1000000; i++) console.log(i); } function runAsync(callback) { console.log('Start'); callback(); console.log('Done'); } runAsync(longTask); 5 Likes Milo (Milo) January 15, 2022, 1:36pm #7 Em xin trả lời các câu hỏi như sau: tonghoangvu: Callback giúp ích gì khi viết code bất đồng bộ? Callback là truyền hàm A vào hàm B (A là tham số của B), tại một vị trí được chỉ định nào đó trong thân hàm B thì A sẽ được thực thi. Dùng callback để xử lý bất đồng bộ có nghĩa là javascript ưu tiên chạy các tác vụ đồng bộ thực thi trước nên các tác vụ bất đồng được xếp vào hàng đợi chạy sau, tại thời điểm hàm bất đồng bộ đó trả về kết quả thì cần phải có một cái gì đó để xử lý kết quả này nên cần tới callback. Dùng callback trong async còn có mục đích bắt các task async chạy theo đúng thứ tự mình muốn. A là callback của B, B(A) B chạy xong ra kết quả thì A mới được chạy. tonghoangvu: Cho đoạn code sau, kết quả cho ra là gì? Giải thích. Kết quả là : Start 0 1 .... 1000000 Done! Giải thích: runAsync(longTask); này là lời gọi hàm để thực thi hàm runAsync và truyền longTask vào làm đối số (chỉ tham chiếu tới longTask ở phần khai báo bên trên chứ không chạy ngay). Trong lúc chạy runAsync, log Start trước, đến longTask() chạy in 0 => 1000000 rồi đến log Done. Milo (Milo) January 15, 2022, 4:17pm #8 kisuluoibieng: Milo: JS chạy nhanh hơn vì có trình biên dịch JIT, java phải biên dịch ra byte code. bạn có thể cho mình biết là kiến thức này đến từ đâu không? Dạ em đọc trên mạng thấy bảo JIT là sự kết hợp của biên dịch và thông dịch nên chạy nhanh hơn các ngôn ngữ khác. Vậy sai là do javascript nhanh vì có JIT hay sai là javascript không dùng JIT anh? tonghoangvu (Vu Tong) January 15, 2022, 2:36pm #9 Milo: Dùng callback để xử lý bất đồng bộ có nghĩa là javascript ưu tiên chạy các tác vụ đồng bộ thực thi trước nên các tác vụ bất đồng được xếp vào hàng đợi chạy sau Đoạn này chưa clear lắm. Ở đây bạn có nhắc tác vụ (task) đồng bộ và task bất đồng bộ, thì bạn hiểu sự khác nhau giữa 2 loại tác vụ này như nào? Lấy ví dụ. Và trong đoạn code của mình thì hàm nào là đồng bộ, hàm nào là bất đồng bộ. Milo: tại thời điểm hàm bất đồng bộ đó trả về kết quả thì cần phải có một cái gì đó để xử lý kết quả này nên cần tới callback. Chuẩn rồi. Milo: Dùng callback trong async còn có mục đích bắt các task async chạy theo đúng thứ tự mình muốn. A là callback của B, B(A) B chạy xong ra kết quả thì A mới được chạy. Việc A có chạy hay không là tùy vào B gọi callback lúc nào thôi. Không có chuyện B xong thì A mới được chạy. Giả sử có callback A đấy nhưng B nó không thích gọi thì sao. Cuối cùng là tại sao đoạn code của mình không in ra như sau? Start Done 1 ... 1000000 4 Likes Milo (Milo) January 15, 2022, 4:19pm #10 tonghoangvu: tác vụ (task) đồng bộ và task bất đồng bộ, thì bạn hiểu sự khác nhau giữa 2 loại tác vụ này như nào? Thật ra em vẫn chưa rõ về bất đồng bộ lắm mặc dù em thấy nó xuất hiện ở nhiều ngôn ngữ chứ không phải mỗi JS, kiểu như các task diễn ra đồng thời song song cùng lúc. Theo em hiểu thì bất đồng bộ có nghĩa là tại 1 thời điểm trong khi task A đang chạy thì thực thi task B luôn không cần chờ task A xong. tonghoangvu: Lấy ví dụ Ví dụ soạn bài viết trên editor của web daynhauhoc, task upload hình ảnh sẽ phải tốn thời gian khá lâu vì file nặng, mạng yếu, chờ server trả link, … Nếu lập trình đồng bộ như bình thường thì user vừa submit ảnh thì web sẽ bị đứng không click, không sroll được, xong task xử lý ảnh thì mới được thao tác tiếp. Còn bất đồng bộ là trong khi task upload ảnh đang chạy thì user vẫn có thể gõ chữ tiếp, task upload chỉ hiện icon spinner xoay xoay khi nào xong thì update lại thành dấu tích. Trong lúc call API POST ảnh lên server thì những task khác hoạt động bình thường không bị block. tonghoangvu: Và trong đoạn code của mình thì hàm nào là đồng bộ, hàm nào là bất đồng bộ. Em thấy đoạn code trên anh đặt tên hàm là runAsync nhưng em không nhìn ra bất đồng bộ chỗ nào hết, em chỉ thấy đây là hàm có sử dụng callback bình thường thôi. Trong even loop thì cả 2 hàm runAsync và longTask chỉ chạy trong ngăn xếp stack chạy theo thứ tự bình thường của hàm đồng bộ. tonghoangvu: Cuối cùng là tại sao đoạn code của mình không in ra như sau? Start Done 1 ... 1000000 Thì như anh vừa nói callback phụ thuộc vào vị trí thực thi trong thân hàm cha tonghoangvu: Milo: Dùng callback trong async còn có mục đích bắt các task async chạy theo đúng thứ tự mình muốn. A là callback của B, B(A) B chạy xong ra kết quả thì A mới được chạy. Việc A có chạy hay không là tùy vào B gọi callback lúc nào thôi. Không có chuyện B xong thì A mới được chạy. Giả sử có callback A đấy nhưng B nó không thích gọi thì sao. nên anh gọi callback() ở giữa console.log('Start') và console.log('Done') thì nó ra như này Milo: Start 0 1 .... 1000000 Done! 2 Likes tonghoangvu (Vu Tong) January 16, 2022, 3:43am #11 Phần lấy ví dụ mình trông đợi một câu trả lời mang tính “diễn dịch”, từ tổng quát trước rồi lấy ví dụ cụ thể. Ở đây bạn có thể nói trong JS thì chỉ có các tác vụ IO mới là bất đồng bộ, ví dụ như gọi API, đọc file, database, API của browser,… Còn chạy code JS kiểu nào đi nữa cũng không bất đồng bộ được (mặc dù JS có những cơ chế hỗ trợ async). Milo: đặt tên hàm là runAsync nhưng em không nhìn ra bất đồng bộ chỗ nào hết, em chỉ thấy đây là hàm có sử dụng callback bình thường thôi Đúng rồi, tên hàm lừa mị đấy 6 Likes HanQuaNhanh (Hàn Quá Nhanh) January 16, 2022, 10:16am #12 4 tính chất cơ bản của lập trình hướng đối tượng nhé. Cái này mình thấy nhà tuyển dụng hỏi nhiều nhất nhé. Và sau đây là danh sách video điểm qua về các tính chất của OOP Typescript nhé, bạn tham khảo thêm: Mong bạn sớm tìm được công việc ưng ý. 5 Likes noname00 (HK boy) split this topic January 18, 2022, 1:48am #13 A post was split to a new topic: Typescript có phổ biến chưa? Phỏng vấn fresher có hỏi về Typescript không? undersun (undersun) January 18, 2022, 4:48pm #14 js: ngôn ngữ lập trình, kiểu dữ liệu động, thông dịch, đơn luồng, gốc của nó là ngôn ngữ hướng cấu trúc, được tạo ra ban đầu là phục vụ cho các browser xử lý các chức năng như xử lý xự kiện, render dom, xử lý giao diện trên browser, vì html đơn thuần là ngôn ngữ đánh dấu chỉ có các tag, nên cần 1 ngôn ngữ kịch bản để xử lý sự kiện java: ngôn ngữ lập trình, kiểu dữ liệu chặt chẽ (tĩnh), hỗ trợ đa luồng, là ngôn ngữ hướng đối tượng, vừa biên dịch vừa thông dịch, tạo ra để viết mọi thứ , từ ứng dụng, game, nhúng vào thiết bị điện tử, nó là 1 trong những ngôn ngữ đi đầu cho khái niệm viết 1 lần chạy mọi nơi chỉ cần có cài máy ảo, cần biên dịch về mã bytecode rồi mới chạy còn việc chạy hơn hay chậm hơn phụ thuộc vào sự tối ưu code khi biên dịch, nên java khi biên dich thì đã đc tối ưu hóa để chạy nhanh hơn là đọc trực tiếp từng dòng từ file như js js:là ngôn ngữ lập trình nodejs:là framework đc xậy dựng lên để hổ trợ phát triển ứng dụng web viết bằng js 1 bên là ngôn ngữ, 1 bên là framework , nên mình thấy ngay từ khái niệm đã khác nhau rồi nên chúng ko giống nhau html,js,css là 1 trong những thành phần tạo nên 1 trang web html: như cái tên của nó ngôn ngữ đánh dấu siêu văn bản, đơn thuần là 1 văn bản có cấu trúc chỉ gồm các tag css: định nghĩa các style cho các tag js: đóng vai trò là 1 ngôn ngữ kịch bản để xử lý xự kiện cho trang web 2 Likes Milo (Milo) January 18, 2022, 4:56pm #15 undersun: nodejs:là framework Sai rồi, nodejs là platform, gọi là runtime environment còn tạm chấp nhận được chứ nói nodejs là framework là sai hoàn toàn nha bác. 1 Like undersun (undersun) January 18, 2022, 5:04pm #16 ok, tôi hơi nhầm lẫn , vì nodejs nó chứa tất cả mọi thứ luôn bao gồm cả nền tảng hoạt động như trình thông dịch, không như các ngôn ngữ tĩnh như java,c# nó tách riêng phần nền tảng hoạt động ra khỏi cái khung 2 Likes Milo (Milo) January 27, 2022, 4:26am #17 Không biết khi phỏng vấn người ta có hỏi về closure, hoisting, IFE, scope, … không ạ? Duy_FA_Tung (Duy “Fa” Tùng) January 27, 2022, 4:31am #18 Tùy cty, cứ học thêm cho chắc 3 Likes drgnz (Drgnz) January 27, 2022, 9:01am #19 bạn phỏng vấn vị trí gì. backend hay frontend. framework bạn xài là gì? 6 Likes superthin (Vô Thin) January 27, 2022, 9:19am #20 Người phỏng vấn: người duyệt web hay than phiền JavaScript chạy một hồi làm nặng máy, trình duyệt ngốn RAM. Là lập trình viên JavaScript bạn có thể dùng kỹ thuật nào đó tương tự như Garbage Collection để giải phóng bớt RAM? 12 Likes next page → DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Câu Hỏi Lý Thuyết Javascript 43 Câu Hỏi JavaScript Nâng Cao Giúp Trả Lời Phỏng Vấn Mượt Mà Hơn Bộ Câu Hỏi Trắc Nghiệm Về JavaScript Có đáp án P1 250 Câu Hỏi Trắc Nghiệm Javascript, CSS, HTML Có đáp án List Câu Hỏi Phỏng Vấn JavaScript - VietTuts Các Câu Hỏi Javascript Thường Gặp 2021 - Viblo Một Vài Câu Hỏi Về Javascript Mà Một Intern / Fresher Cần Biết Khi đi ... 21 Câu Hỏi Phỏng Vấn JavaScript Dành Cho Người Mới Bắt đầu Mà ... Trắc Nghiệm JavaScript | Tìm ở đây Danh Sách Những Câu Hỏi Trong Phỏng Vấn Javascript - GitHub Javascript Là Gì? Kiến Thức Tổng Quan Về Javascript Từ A - Z 21 Câu Hỏi Trắc Nghiệm Javascript - Tài Liệu - 123doc [Javascript] Vượt Qua Các Bài Phòng Vấn Javascript. - Blog Của Tài Vũ Thành Công Trong Các Câu Hỏi Phỏng Vấn JavaScript - NordicCoder Câu Hỏi Trắc Nghiệm Lập Trình JavaScript