cari
Rumahhujung hadapan webtutorial js5 Latihan Temuduga JavaScript Tipikal

5 Typical JavaScript Interview Exercises

mata teras

    Soalan wawancara JavaScript biasa biasanya berputar di sekitar pemahaman konsep utama, seperti skop, mewujudkan kaedah asli, promosi,
  • kata kunci, dan this dan call() fungsi. apply()
  • Dalam JavaScript, adalah penting untuk memahami konteks fungsi dan cara memanggilnya. Kata kunci
  • merujuk kepada konteks, yang berbeza -beza bergantung kepada sama ada fungsi itu dipanggil sebagai sebahagian daripada objek atau sebagai fungsi mandiri. this
  • ketinggian dalam JavaScript merujuk kepada proses di mana pembolehubah dan fungsi dipindahkan ke bahagian atas skop penahanan mereka. Walau bagaimanapun, sementara fungsi mengekalkan nilai awalnya, pembolehubah tidak, dan pada mulanya ditetapkan kepada
  • . undefined
pemaju JavaScript sangat popular di bidang IT. Jika peranan ini paling mencerminkan pengetahuan anda, anda mempunyai banyak peluang untuk mengubah syarikat pekerjaan anda dan meningkatkan gaji anda. Tetapi sebelum anda diupah oleh syarikat, anda perlu menunjukkan kemahiran anda untuk lulus proses temuduga. Dalam artikel ini, saya akan menunjukkan kepada anda lima kemahiran JavaScript calon ujian biasa dan penyelesaian yang berkaitan dengan wawancara kerja front-end. Ini akan menyeronokkan!

Soalan 1: Skop

Pertimbangkan kod berikut:

(function() {
   var a = b = 5;
})();

console.log(b);
Apa yang akan dicetak konsol?

Jawab

Cetak kod di atas 5. Caranya masalah ini ialah dalam ekspresi fungsi pelaksanaan segera (IIFE), terdapat dua pernyataan tugasan, tetapi pembolehubah

diisytiharkan dengan kata kunci a. Ini bermakna bahawa var adalah pemboleh ubah tempatan fungsi. Sebaliknya, a diberikan kepada skop global. Satu lagi helah dengan masalah ini ialah ia tidak menggunakan corak ketat (b) di dalam fungsi. Jika mod ketat diaktifkan, kod akan membuang ralat "". Ingat, corak yang ketat memerlukan anda secara eksplisit merujuk kepada skop global jika itu adalah tingkah laku yang diharapkan. Oleh itu, anda harus menulis ini: 'use strict'; Uncaught ReferenceError: b is not defined

(function() {
   'use strict';
   var a = window.b = 5;
})();

console.log(b);
Soalan 2: Buat kaedah "asli"

Tentukan fungsi

pada objek

. Fungsi ini menerima integer, menyatakan bilangan kali rentetan perlu diulang. Fungsi ini mengembalikan rentetan yang diulang untuk beberapa kali tertentu. Contohnya: String repeatify harus dicetak.

console.log('hello'.repeatify(3));

Jawab hellohellohello

Pelaksanaan yang mungkin adalah seperti berikut:

Soalan ini menguji pemahaman pemaju tentang warisan JavaScript dan

sifat. Ia juga mengesahkan bahawa pemaju boleh melanjutkan fungsi jenis data asli (walaupun tidak perlu dilakukan). Satu lagi perkara penting di sini adalah untuk membuktikan bahawa anda memahami bagaimana untuk mengelakkan penulisan fungsi yang mungkin telah ditakrifkan. Ini dilakukan dengan menguji sama ada fungsi itu tidak wujud sebelum menentukan fungsi anda sendiri:

String.prototype.repeatify = String.prototype.repeatify || function(times) {
   var str = '';

   for (var i = 0; i < times; i++) {
       str += this;
   }

   return str;
};

Teknik ini amat berguna apabila anda diminta mensimulasikan fungsi JavaScript. prototype

Soalan 3: Meningkatkan

Apakah hasil melaksanakan kod ini? Kenapa?

(function() {
   var a = b = 5;
})();

console.log(b);

Jawab

Hasil kod ini adalah undefined dan 2. Alasannya ialah kedua -dua pembolehubah dan fungsi dipromosikan (dipindahkan ke bahagian atas fungsi), tetapi pembolehubah tidak mengekalkan sebarang nilai yang diberikan. Oleh itu, apabila mencetak pembolehubah a ia wujud dalam fungsi (ia diisytiharkan), tetapi masih undefined. Dengan kata lain, kod di atas bersamaan dengan kod berikut:

(function() {
   'use strict';
   var a = window.b = 5;
})();

console.log(b);

Soalan 4: this Bagaimana ia berfungsi dalam JavaScript

Apakah hasil daripada kod berikut? Terangkan jawapan anda.

console.log('hello'.repeatify(3));

Jawab

cetakan kod Aurelio De Rosa dan John Doe. Sebabnya ialah konteks fungsi (apa yang dirujuk oleh kata kunci this) dalam JavaScript bergantung kepada bagaimana fungsi dipanggil, bukan bagaimana ia ditakrifkan. Dalam panggilan console.log() pertama, getFullname() dipanggil sebagai fungsi objek obj.prop. Oleh itu, konteks merujuk kepada yang terakhir, dan fungsi mengembalikan sifat fullname objek. Sebaliknya, apabila getFullname() diberikan kepada pembolehubah test, konteks merujuk kepada objek global (). Ini berlaku kerana window secara tersirat ditetapkan sebagai harta objek global. Oleh itu, fungsi mengembalikan nilai atribut yang dinamakan test, yang dalam kes ini adalah nilai yang ditetapkan oleh kod pada baris pertama coretan kod. window fullname

Soalan 5:

dan call() Tetapkan bug dalam isu sebelumnya supaya yang terakhir dicetak apply().

Jawab console.log() Aurelio De Rosa

Masalah ini boleh diperbaiki menggunakan fungsi

atau untuk memaksa konteks fungsi. Jika anda tidak memahami mereka dan perbezaan mereka, saya cadangkan anda membaca artikel "perbezaan antara dan

". Dalam kod berikut, saya akan menggunakan

, tetapi dalam kes ini, call() akan menghasilkan hasil yang sama: apply() function.call function.apply call() Kesimpulan apply()

String.prototype.repeatify = String.prototype.repeatify || function(times) {
   var str = '';

   for (var i = 0; i < times; i++) {
       str += this;
   }

   return str;
};
Dalam artikel ini, kami membincangkan lima soalan biasa yang digunakan untuk menguji pemaju JavaScript semasa wawancara. Soalan -soalan sebenar mungkin berbeza dari wawancara hingga wawancara, tetapi konsep dan topik yang diliputi sering sangat serupa. Saya harap anda bersenang -senang dan menguji pengetahuan anda. Jika anda ditanya soalan menarik lain semasa wawancara, jangan ragu untuk berkongsi dengan kami. Ini akan membantu banyak pemaju.

FAQs (FAQ)

Apakah kesilapan biasa yang harus dielakkan dalam wawancara pengekodan JavaScript?

Salah satu kesilapan yang paling biasa tidak memahami sepenuhnya masalah sebelum mula mengekod. Luangkan masa untuk memahami masalah dan, jika perlu, tanya penjelasan. Kesalahan lain ialah kes kelebihan tidak dipertimbangkan. Sentiasa pertimbangkan kes -kes kelebihan yang berpotensi dan bagaimana kod anda akan mengendalikannya. Juga, elakkan nilai keras. Penyelesaian anda harus berfungsi untuk semua input, bukan hanya contoh yang disediakan. Akhirnya, ingatlah untuk menyampaikan proses pemikiran anda. Pewawancara berminat dengan penyelesaian anda terhadap masalah anda, bukan hanya penyelesaian akhir.

Bagaimana untuk mempersiapkan wawancara pengekodan JavaScript?

Pertama sekali, anda mesti memahami pengetahuan asas JavaScript. Ini termasuk pemahaman konsep seperti penutupan, janji, async/await dan ciri -ciri ES6. Amalan masalah pengekodan pada platform seperti LeetCode, Hackerrank, dan Codewars. Juga, baca soalan wawancara JavaScript biasa dan cuba menyelesaikannya sendiri. Akhirnya, fahami prinsip kerja JavaScript yang mendasari. Ini termasuk memahami ciri-ciri yang tidak menyekat gelung acara, susunan panggilan, dan JavaScript.

Apakah penutupan dalam JavaScript dan mengapa mereka penting?

Penutupan dalam JavaScript adalah fungsi yang mempunyai akses kepada skop induk, walaupun fungsi induk telah ditutup. Mereka penting kerana ia membolehkan privasi data dan digunakan dalam corak kilang dan modul fungsi. Memahami penutupan adalah penting kerana mereka adalah bahagian asas JavaScript.

Bolehkah anda menerangkan konsep "" dalam JavaScript? this "

" Dalam JavaScript adalah kata kunci khas, yang merujuk kepada konteks memanggil fungsi. Nilainya bergantung pada bagaimana fungsi dipanggil. Ia boleh merujuk kepada objek global, objek yang sedang diproses oleh fungsi, objek yang dibuat oleh pembina, atau objek yang ditentukan apabila menggunakan kaedah

, this atau call. apply bind

Bagaimana JavaScript mengendalikan operasi tak segerak?

JavaScript menggunakan panggilan balik, janji, dan

untuk mengendalikan operasi tak segerak. Panggilan balik adalah fungsi yang diluluskan sebagai hujah kepada fungsi lain dan dipanggil selepas beberapa operasi selesai. Janji adalah objek yang menunjukkan bahawa operasi tak segerak akhirnya selesai atau gagal.

adalah gula sintaks untuk janji, yang menjadikan kod asynchronous kelihatan dan berkelakuan seperti kod segerak. async/await async/await

Apakah prototaip dalam JavaScript?

Prototaip dalam JavaScript adalah mekanisme untuk objek JavaScript untuk mewarisi ciri -ciri antara satu sama lain. JavaScript sering dipanggil bahasa berasaskan prototaip, dan pemahaman prototaip adalah kunci untuk memahami JavaScript.

Bolehkah anda menerangkan perbezaan antara "" dan "" dalam JavaScript?

== "" adalah pengendali kesamaan longgar yang menukarkan operan ke jenis yang sama sebelum membuat perbandingan. "" adalah pengendali kesamaan yang ketat, yang tidak melakukan penukaran jenis, ia membandingkan operan seperti itu. ===

Apakah gelung acara di JavaScript?

==

Loop acara adalah mekanisme dalam JavaScript yang sentiasa memeriksa sama ada timbunan panggilan kosong. Jika ya, ia mengambil tugas pertama dari barisan tugas dan menolaknya ke timbunan panggilan. Ia membolehkan JavaScript menjadi tidak menyekat dan mengendalikan operasi tak segerak.

Apakah janji JavaScript?

Janji dalam JavaScript adalah objek yang menunjukkan bahawa operasi tak segerak akhirnya selesai atau gagal. Mereka boleh berada di salah satu daripada tiga negeri: menunggu, selesai, atau ditolak. Janji digunakan untuk mengendalikan operasi tak segerak dengan cara yang lebih fleksibel daripada panggilan balik.

Apakah corak reka bentuk JavaScript biasa?

Beberapa corak reka bentuk JavaScript biasa termasuk mod modul, mod prototaip, mod pemerhati, dan mod singleton. Memahami corak ini dapat membantu anda menulis lebih cekap, lebih mudah untuk dikekalkan, dan kod yang lebih baik.

Atas ialah kandungan terperinci 5 Latihan Temuduga JavaScript Tipikal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Python vs JavaScript: Analisis Perbandingan untuk PemajuPython vs JavaScript: Analisis Perbandingan untuk PemajuMay 09, 2025 am 12:22 AM

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Python vs JavaScript: Memilih alat yang sesuai untuk pekerjaanPython vs JavaScript: Memilih alat yang sesuai untuk pekerjaanMay 08, 2025 am 12:10 AM

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan javascript: memahami kekuatan masing -masingPython dan javascript: memahami kekuatan masing -masingMay 06, 2025 am 12:15 AM

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Inti JavaScript: Adakah ia dibina di atas C atau C?Inti JavaScript: Adakah ia dibina di atas C atau C?May 05, 2025 am 12:07 AM

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

Aplikasi JavaScript: Dari Front-End ke Back-EndAplikasi JavaScript: Dari Front-End ke Back-EndMay 04, 2025 am 12:12 AM

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Python vs JavaScript: Bahasa mana yang harus anda pelajari?Python vs JavaScript: Bahasa mana yang harus anda pelajari?May 03, 2025 am 12:10 AM

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

Rangka Kerja JavaScript: Menguasai Pembangunan Web ModenRangka Kerja JavaScript: Menguasai Pembangunan Web ModenMay 02, 2025 am 12:04 AM

Kuasa rangka kerja JavaScript terletak pada pembangunan yang memudahkan, meningkatkan pengalaman pengguna dan prestasi aplikasi. Apabila memilih rangka kerja, pertimbangkan: 1.

Hubungan antara JavaScript, C, dan penyemak imbasHubungan antara JavaScript, C, dan penyemak imbasMay 01, 2025 am 12:06 AM

Pengenalan Saya tahu anda mungkin merasa pelik, apa sebenarnya yang perlu dilakukan oleh JavaScript, C dan penyemak imbas? Mereka seolah -olah tidak berkaitan, tetapi sebenarnya, mereka memainkan peranan yang sangat penting dalam pembangunan web moden. Hari ini kita akan membincangkan hubungan rapat antara ketiga -tiga ini. Melalui artikel ini, anda akan mempelajari bagaimana JavaScript berjalan dalam penyemak imbas, peranan C dalam enjin pelayar, dan bagaimana mereka bekerjasama untuk memacu rendering dan interaksi laman web. Kita semua tahu hubungan antara JavaScript dan penyemak imbas. JavaScript adalah bahasa utama pembangunan front-end. Ia berjalan secara langsung di penyemak imbas, menjadikan laman web jelas dan menarik. Adakah anda pernah tertanya -tanya mengapa Javascr

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa