Dalam teks sebelumnya, saya mula menggunakan tapak web Hacker Rank untuk mempraktikkan algoritma dan saya menyebutnya kepada teman lelaki saya. Dia mencadangkan mencuba LeetCode kerana saya tidak perlu menggunakan Node.js dan hanya boleh menumpukan pada cabaran algoritma. Saya sudah berada di hari kedua menggunakan LeetCode.
Pengukuhan: teks dalam siri ini, seperti yang ini dan yang daripada Reka Bentuk Sistem, saya menukar twitter/x dan bluesky dengan dev.to. Yang berkata, saya akan mengatakannya dengan cara yang ringan, "meja bar". Sila ambil kira ini hahaha
...
Saya mengaku bahawa saya sentiasa mempunyai tanggapan bahawa LeetCode adalah untuk orang yang sangat bijak dan pastinya ia bukan untuk saya, "brucutu jahil" berpendapat bahawa kebanyakan daripada kita, devs, mempunyai perkara yang kita pilih untuk tidak tahu dan just judge hahaha
Saya mengatakan ini kerana ini adalah pertimbangan yang saya buat berdasarkan apa yang saya lihat daripada rakan sekerja saya di Twitter, sehinggakan saya tidak pernah melihat mana-mana rakan sekerja wanita bercakap tentang LeetCode - dan kita tahu bahawa "kadang-kadang" lelaki suka melakukan bersamaan dengan "siapa yang paling besar" menggunakan gaji, hobi seperti kopi, syarikat tempat dia bekerja dan juga beberapa "demonstrasi intelektual" seperti cabaran algoritma yang sangat kompleks.
Saya tahu bahawa mengamalkan cabaran algoritma membantu dalam temu duga kerja, tetapi, sebagai pembangun yang bekerja di Brazil, saya tidak perlu mengambil ujian algoritma dan membincangkan kerumitan, dsb. - Saya tidak pernah menguji syarikat yang memerlukan perkara-perkara ini dan saya mengaku bahawa saya marah kerana rakan-rakan rangkaian sosial saya memakai monocle dan memutar-mutar hujung misai mereka setiap kali mereka bercakap tentang tempat mereka bekerja dan tentang ujian algoritma hahaha
Tetapi hei, jika anda juga mencipta percubaan ini, saya di sini untuk memberitahu anda bahawa menyelesaikan cabaran algoritma adalah sangat hebat, ia bukan sesuatu untuk separa dewa dan ia tidak akan menjadikan anda seorang monocle - melainkan anda sudah mempunyai kecenderungan "pengukuran sh*t", tetapi itu bukan kesalahan platform.
Apakah itu LeetCode?
Ya, terdapat cabaran yang sangat sukar. Tetapi itu bukan keseluruhan platform. Malah, walaupun anda baru menggunakan Javascript (anda sudah perlu tahu cara memprogram, jika tidak, anda tidak akan dapat memanfaatkannya sepenuhnya dan anda akan kecewa), LeetCode adalah untuk anda.
Atau, jika anda sudah menjadi pembangun sepenuh masa atau senior tetapi tidak mempunyai masa atau minat untuk menghabiskan berjam-jam dan berjam-jam pada perkara yang anda tidak gunakan di tempat kerja, ketahui bahawa dalam 10 minit anda boleh menyelesaikan masalah cabaran dalam LeetCode dan anda akan mempelajari perkara yang menarik.
Cadangan saya adalah untuk bermula dengan "30 hari Javascript" pada platform. Satu-satunya perkara ialah anda perlu tahu bahasa Inggeris atau sekurang-kurangnya menterjemah apa yang anda tidak faham (saya rasa terdapat terjemahan langsung halaman dalam penyemak imbas juga, tetapi saya belum mengujinya). Tetapi selain daripada perkara ini tentang bahasa, cabaran rancangan kajian ini agak mungkin untuk diselesaikan dalam beberapa minit.
Wajah rancangan belajar dan dua latihan yang telah saya selesaikan
Walaupun anda sudah kenyang atau senior, tetapi tidak biasa dengan cabaran algoritma, saya juga mencadangkan anda mulakan dengan rancangan pengajian ini. Ya, anda akan mendapati perkara mudah tetapi anda akan melihat bahawa anda mempunyai peluang untuk belajar terutamanya untuk memikirkan struktur cara menyelesaikan masalah dan membiasakan diri untuk mempunyai 3 atau 4 cara untuk menyelesaikan masalah yang sama - dan mengetahui sebabnya untuk setiap pilihan .
Cabaran diterangkan dalam tab "huraian" dan ia menarik untuk membaca segala-galanya (saya pergi dengan "ah, mudah" Saya tidak membaca semua dan saya melakukan kesilapan pada kali pertama haha ????Ah, pasaran mewujudkan banyak tabiat buruk dalam diri kita) supaya tidak melakukan lebih atau kurang daripada apa yang sebenarnya diminta.
Tetapi bahagian kegemaran saya ialah tab "editor", yang merupakan perkara paling berharga dalam LeetCode, pada pendapat saya:
Di sini, anda bukan sahaja akan memahami tujuan ujian tetapi belajar tentang konsep itu sendiri dan wow, bercakap tentang penutupan dalam Javascript membuatkan saya terharu. Dan saya lebih suka bahawa bahagian ini membawa 4 cara yang mungkin untuk menyelesaikan cabaran, mengikut prestasi dan kesederhanaan, selain membawa kandungan yang sangat menarik dengan membandingkan kelas dalam Javascript (yang bukan kelas sebenar, seperti di Java, kerana pembina ialah fungsi) dengan Penutupan.
Tanda kurung kecil untuk bercakap tentang penutupan
Penutupan adalah ciri yang sangat berkuasa dan menarik, namun, ia jarang digunakan kerana orang selalu mengatakan bahawa ia "tidak perlu", bahawa ia "berbahaya", bahawa ia "tidak berprestasi" tetapi sebenarnya ia adalah kerana kami akhirnya melihat banyak projek pasaran menggunakan JavaScript berorientasikan objek, yang "tidak merumitkan".
Saya tidak mempunyai bantahan untuk menggunakan paradigma berorientasikan objek dengan JavaScript, bahasa itu malah menyokong tingkah laku ini, beribu-ribu syarikat menggunakannya dengan cara ini dan ia praktikal kerana ia lebih biasa kepada mereka yang datang dari Java atau C#. Walau bagaimanapun, ketahui bahawa terdapat banyak gelagat menarik dalam JavaScript yang gagal kami manfaatkan kerana kami akhirnya menggunakannya sebagai Java dengan sintaks yang lebih mudah - dan kemudian datang aduan tentang membandingkan perkara yang sama sekali berbeza.
Tetapi saya akan bercakap tentang perkara ini dalam artikel serius yang akan saya terbitkan minggu depan, "Idiomatic Javascript". Kembali ke topik:
Meter Masa Jalan
Selepas menyerahkan ujian anda (dan sungguh menarik bahawa terdapat kes ujian untuk memastikan anda memenuhi senario yang diminta) anda akan melihat sejauh mana prestasi penyelesaian anda dan bilangan orang lain yang turut membangunkan penyelesaian dalam anggaran masa pelaksanaan yang anda mengambil untuk dilaksanakan. Ini sangat bagus kerana anda boleh melihat penyelesaian terpantas yang lain dan mengembangkan himpunan anda tentang cara berbeza untuk menyelesaikan masalah yang sama.
Membuat kesimpulan...
Untuk mengulangi: LeetCode bukan untuk jenius, ia adalah untuk sesiapa sahaja yang bekerja dengan pengaturcaraan dan ingin mengetahui lebih lanjut. Ia adalah platform yang hebat untuk belajar walaupun anda tidak mempunyai cita-cita untuk mendaftar bagi proses pemilihan yang menggunakan cabaran LeetCode, dan ia berfungsi dengan baik sama ada anda seorang junior atau senior yang penat dan sibuk yang tidak mempunyai masa untuk apa-apa. Ya, anda mempunyai 10 minit haha ????Walaupun ia hanya untuk mengenalinya dan melihat bahawa ia bukan sesuatu yang luar daripada realiti anda.
Saya tidak mendapat apa-apa untuk mengesyorkan perkara ini di sini dan saya tidak mahu, saya mengatakannya kerana ia adalah sesuatu yang saya dapati berfaedah. Jadi, cubalah dan kenali 30 hari Javascript!
Atas ialah kandungan terperinci hari Javascript tiada LeetCode. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Mekanisme pengumpulan sampah JavaScript secara automatik menguruskan memori melalui algoritma pembersihan tag untuk mengurangkan risiko kebocoran ingatan. Enjin melintasi dan menandakan objek aktif dari objek akar, dan tidak bertanda dianggap sebagai sampah dan dibersihkan. Sebagai contoh, apabila objek tidak lagi dirujuk (seperti menetapkan pembolehubah kepada null), ia akan dikeluarkan dalam pusingan seterusnya kitar semula. Punca kebocoran memori yang biasa termasuk: ① Pemasa atau pendengar peristiwa yang tidak jelas; ② Rujukan kepada pembolehubah luaran dalam penutupan; ③ Pembolehubah global terus memegang sejumlah besar data. Enjin V8 mengoptimumkan kecekapan kitar semula melalui strategi seperti kitar semula generasi, penandaan tambahan, kitar semula selari/serentak, dan mengurangkan masa menyekat benang utama. Semasa pembangunan, rujukan global yang tidak perlu harus dielakkan dan persatuan objek harus dihiasi dengan segera untuk meningkatkan prestasi dan kestabilan.

Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle

Rangka kerja JavaScript mana yang terbaik? Jawapannya ialah memilih yang paling sesuai mengikut keperluan anda. 1. REACT adalah fleksibel dan bebas, sesuai untuk projek sederhana dan besar yang memerlukan penyesuaian tinggi dan keupayaan seni bina pasukan; 2. Angular menyediakan penyelesaian lengkap, sesuai untuk aplikasi peringkat perusahaan dan penyelenggaraan jangka panjang; 3. Vue mudah digunakan, sesuai untuk projek kecil dan sederhana atau perkembangan pesat. Di samping itu, sama ada terdapat timbunan teknologi sedia ada, saiz pasukan, kitaran hayat projek dan sama ada SSR diperlukan juga faktor penting dalam memilih rangka kerja. Singkatnya, tidak ada kerangka terbaik, pilihan terbaik adalah yang sesuai dengan keperluan anda.

IIFE (Segera Dilanjutkan FunctionExpression) adalah ekspresi fungsi yang dilaksanakan dengan segera selepas definisi, digunakan untuk mengasingkan pembolehubah dan mengelakkan mencemarkan skop global. Ia dipanggil dengan membungkus fungsi dalam kurungan untuk menjadikannya ungkapan dan sepasang kurungan segera diikuti olehnya, seperti (fungsi () {/code/}) ();. Penggunaan terasnya termasuk: 1. Elakkan konflik berubah -ubah dan mencegah pertindihan penamaan antara skrip berganda; 2. Buat skop peribadi untuk menjadikan pembolehubah dalaman tidak kelihatan; 3. Kod modular untuk memudahkan permulaan tanpa mendedahkan terlalu banyak pembolehubah. Kaedah penulisan biasa termasuk versi yang diluluskan dengan parameter dan versi fungsi anak panah ES6, tetapi perhatikan bahawa ungkapan dan ikatan mesti digunakan.

Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)

CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.
