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!

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing


Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

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
Persekitaran pembangunan bersepadu PHP yang berkuasa