algo-dasar
Agar semua orang dapat membaca lebih baik artikel teknis berkualitas tinggi seperti algoritme dan dasar-dasar komputer (termasuk jaringan komputer, sistem operasi, MySQL, dll.), Saya telah mengatur artikel ini ke dalam PDF dengan daftar isi definisi tinggi. Namun, untuk kenyamanan memperbaiki kesalahan nanti, Dan menambahkan konten baru, maka kami memiliki Github ini.
Oleh karena itu, Github ini akan membagikan artikel tentang struktur data, algoritma, dasar-dasar komputer, pengalaman belajar saya, dll. Baik Anda sedang menghadapi wawancara, terutama rekrutmen sekolah, atau ingin meningkatkan keterampilan internal Anda, saya rasa artikel saya ini akan membantu. bermanfaat bagi Anda. Artikel-artikel ini pada dasarnya diperbarui di sini setelah menerima pujian yang konsisten dari platform blog utama.
Selain itu, jika bermanfaat setelah membaca artikel tersebut, Shuaidi ingin meminta bantuan Anda dan memberi saya Bintang untuk memuaskan kesombongan saya. Jika ada lebih banyak Bintang, mungkin saya akan memiliki kesempatan untuk mengambil tangkapan layar dan kirim ke Moments, pura-pura jadi B, hee hee.
Terakhir, jika Anda ingin membaca e-book versi PDF atau epub, Anda dapat membuka akun publik WeChat saya Pemrograman Shuai Di Wan dan membalas pelatihan kekuatan batin pemrogram , dan Anda bisa mendapatkan versi PDF/epub dari e-book tersebut. e-book disusun oleh semua artikel dengan daftar isi buku definisi tinggi, Anda cukup memindai dan mengikutinya.
Daftar isi
- algoritma pembelajaran
- Berbagi pengalaman algoritma pembelajaran
- Pelajari rekursi
- Pelajari pemrograman dinamis
- Pelajari pencarian biner
- Reproduksi adegan wawancara algoritma rekrutmen kampus
- Pelajari algoritma pencocokan string
- Harus mempelajari pemikiran dan keterampilan algoritmik
- Harus mempelajari algoritma pengurutan
- Dapatkan pohon biner
- Dapatkan daftar tertaut
- Pelajari struktur data
- Pelajari Jaringan Komputer
- Ringkasan pengalaman ditulis untuk siswa saat ini
- Pengalaman dan refleksi pribadi
- Pelajari sistem operasi
- MySQL
- Jawa
- Git
- Rekomendasi buku berkualitas tinggi yang pernah saya baca
- Menindaklanjuti
- Menghargai
algoritma pembelajaran
Berbagi pengalaman algoritma pembelajaran
- Algoritma apa yang harus dikuasai programmer?
- Sebagai seorang pemula, bagaimana cara mempelajari algoritma?
- Setelah menyelesaikan 500 soal di leetcode, apakah aman untuk lulus tes tertulis/wawancara?
Pelajari rekursi
- Mengapa Anda tidak bisa mempelajari rekursi? Ucapkan selamat tinggal pada rekursi dan bicarakan beberapa pengalaman saya
- Latihan 1: Temukan median atas dalam dua larik yang diurutkan dengan panjang yang sama
- Pelatihan 2: Temukan desimal ke-K dari dua larik terurut
- Pelatihan 3: Temukan median dari dua larik terurut (tentang pentingnya transformasi berpikir)
Pelajari pemrograman dinamis
- Apakah pemrograman dinamis itu sulit? Setelah menjawab 40 pertanyaan di DP, saya rangkum rutinitas berikut ini!
- Optimalisasi pemrograman dinamis
- Pelatihan 1: Penjelasan rinci tentang tiga masalah algoritma pemrograman dinamis satu dimensi
- Pelatihan 2: Penjelasan mendetail tentang pertanyaan leetcode221: Kuadrat maksimum
Pelajari pencarian biner
- Apakah Anda yakin dapat melakukan pencarian biner? Bisakah itu digunakan untuk merancang penipuan dalam hidup?
- Dua pertanyaan algoritma yang tampaknya sederhana
- Ringkasan pertanyaan dikotomi
Reproduksi adegan wawancara algoritma rekrutmen kampus
- Ingat pertanyaan wawancara algoritma ByteDance: pembalikan daftar tertaut yang berubah bentuk
- Ingat sebuah wawancara dengan algoritma yang dibuat-buat: pewawancara ByteDance memukul saya empat kali berturut-turut
- Pertanyaan tes tertulis Alibaba: Bagaimana saya memecahkan masalah cincin Joseph dengan satu baris kode
- Ingat wawancara dengan Alibaba: Wawancara berfokus pada desain algoritma cache LRU
- Penerapan awalan dan penjumlahan dimulai dari soal tes tertulis NetEase
- Penyalahgunaan wawancara: ingat pertanyaan wawancara algoritma shopee: solusi optimal dari tumpukan minimum
- Penyalahgunaan wawancara: Bagaimana penerapan pemfilteran kata-kata sensitif dalam game?
- Temukan bilangan paling sering dari 2 miliar, 4 miliar, 8 miliar bilangan bulat hanya dengan menggunakan memori 2GB
Pelajari algoritma pencocokan string
- Algoritma KMP pencocokan string grafis
- Algoritma Boyer-Moore pencocokan string: Bagaimana fungsi pencarian diterapkan di editor teks?
Harus mempelajari pemikiran dan keterampilan algoritmik
- Berjuang untuk kesempurnaan: Bagaimana saya mengubah pertanyaan algoritma tingkat mudah menjadi pertanyaan tingkat sulit
- Bagikan masalah algoritmik dengan solusi cerdas
- Faktorial itu sederhana? Sejujurnya, Anda mungkin belum tentu memahami pertanyaan wawancara terkait faktorial ini!
- Pewawancara, tolong jangan tanya saya pertanyaan algoritma yang sederhana namun sulit seperti itu.
- Luar biasa! Satu baris kode sebenarnya dapat menyelesaikan begitu banyak masalah algoritma yang telah lama mengganggu saya.
- Shuaidi telah merangkum teknik pemecahan masalah algoritma frekuensi tinggi ini untuk membantu Anda menyelesaikan masalah lebih cepat!
- Apa saja trik dalam struktur data algoritmik?
- Panduan untuk berpura-pura menjadi orang yang paham
- Temukan bilangan bulat yang hilang
Harus mempelajari algoritma pengurutan
- Komik: Tolong jangan tanya saya lagi tentang penyortiran cepat
- Komik: Mengapa pengurutan radix kompleksitas O(n) tidak secepat pengurutan cepat?
- Komik: Penyortiran eksternal: Bagaimana cara mengurutkan 2 miliar bilangan bulat menggunakan memori 2GB? (Sebenarnya, ini juga merupakan pertanyaan wawancara yang umum)
- Berhenti menggulir, programmer harus mempelajari sepuluh algoritma pengurutan klasik, baca saja artikel ini
Dapatkan pohon biner
- Traversal preorder pohon biner (versi non-rekursif)
- Traversal inorder dari pohon biner (versi non-rekursif)
- Traversal postorder pohon biner (versi non-rekursif)
- Cetak pohon biner dari atas ke bawah
- Konstruksi pohon biner
- Cermin pohon biner
- substruktur pohon biner
- Urutan traversal postorder dari pohon pencarian biner
- Membangun kembali pohon biner
Dapatkan daftar tertaut
- Pelatihan daftar tertaut 1: Hapus simpul ke-K dari daftar tertaut tunggal
- Pelatihan daftar tertaut 2: Hapus simpul perantara dari daftar tertaut tunggal
- Pelatihan daftar tertaut 3: Cara membalikkan daftar tertaut tunggal dengan baik
- Pelatihan daftar tertaut 4: Masalah Joseph tentang daftar tertaut tunggal melingkar
- Pelatihan daftar tertaut 5: Tiga metode akan membantu Anda menilai daftar tertaut palindromik dengan elegan
- Pelatihan daftar tertaut 6: Bagilah daftar tertaut satu arah menurut nilai tertentu ke dalam bentuk kecil di sebelah kiri, sama besar di tengah, dan besar di sebelah kanan
- Pelatihan daftar tertaut 7: salin daftar tertaut yang berisi node penunjuk acak
- Pelatihan daftar tertaut 8: Membalikkan urutan antara setiap K node dari daftar tertaut tunggal
- Pelatihan daftar tertaut 9: Mengubah pohon biner pencarian menjadi daftar tertaut ganda
Pelajari struktur data
- Apa itu tumpukan biner?
- Apa sih yang dimaksud dengan tumpukan?
- Komik: Apa itu pohon avl?
- Pertanyaan wawancara Tencent: Dengan pohon pencarian biner, mengapa pohon seimbang membutuhkan pohon merah-hitam?
- Wawancara frekuensi tinggi: Apa itu B-tree? Mengapa indeks file menggunakan pohon-B dan bukan pohon pencarian biner?
- Nanti kalau pewawancara bertanya tentang jump table, lemparkan saja artikel ini padanya.
Pelajari Jaringan Komputer
- Pahami cara satu komputer mengirimkan data ke komputer lain dalam satu artikel
- Pembicaraan acak: Apa itu https? Ini seharusnya menjadi artikel terbaik di seluruh Internet tentang https.
- Ilustrasi: Bagaimana host yang tadinya asing mencapai pengiriman data yang benar selama dua hari?
- Apa itu tanda tangan digital
- Apa itu pengendalian kemacetan?
- Apa itu kontrol aliran TCP
- Apa algoritma perutean siaran? Bagaimana cara mengatasi badai siaran?
- Apa yang pewawancara ingin menguji kita tentang jabat tangan tiga arah dan lambaian tangan empat arah?
- Dari mana IP komputer itu berasal? Saya belum mengkonfigurasinya
- Perbedaan antara peralihan sirkuit dan peralihan paket
Ringkasan pengalaman ditulis untuk siswa saat ini
- Saya telah mempelajari pemrograman selama empat tahun, dan saya merekomendasikan alat pembelajaran, situs web, dan materi berkualitas tinggi ini kepada Anda.
- Setelah lama dipikir-pikir, inilah jalur pembelajaran yang cocok untuk masyarakat umum.
- Kompilasi inti: Pengetahuan dasar komputer yang akan membuat Anda lepas landas: apa yang harus dipelajari dan bagaimana cara mempelajarinya?
- Ya, saya gagal dalam dua wawancara dengan Tencent pada perekrutan musim semi. Izinkan saya berbagi pengalaman wawancara saya yang gagal + konyol.
- Setelah dua bulan perekrutan musim gugur, mari kita bicara tentang beberapa poin pengetahuan penting dalam perekrutan musim semi dan musim gugur.
- Penting untuk membicarakan tentang rekrutmen musim semi yang akan datang (pengalaman + pentingnya + cara mempersiapkannya)
- Ceritakan tentang proyek yang Anda kerjakan selama periode Perekrutan Musim Semi dan Musim Gugur dan rekomendasikan beberapa proyek + video wawancara
Pengalaman dan refleksi pribadi
- Perekrutan musim gugur telah berakhir, tiga tahun kuliah saya berjalan biasa saja.
- Dalam 15 bulan terakhir menulis akun publik, apa yang telah saya pelajari dan peroleh selama ini?
- tahun 2019 saya
- Lebih dari setahun sejak saya mulai menulis artikel di akun publik, saya mengalami troll, diblokir, dan dipuji.
- Artikel orisinal pertama di tahun 2020: Bagaimana saya membuat diri saya lebih baik
- Izinkan saya berbicara tentang kehidupan sehari-hari saya, belajar dan berpikir
Pelajari sistem operasi
Bagian artikel ini agak jarang dan akan ditambahkan secara bertahap nanti, jadi pantau terus.
- Ingat wawancara: Apa metode komunikasi antar proses? Bagaimana cara berkomunikasi?
MySQL
- Wawancara Tencent: Apa alasan mengapa pernyataan SQL dijalankan dengan lambat?
- Tips wawancara: terkait indeks MySQL
- Biarkan saya pergi, dua trik kecil ini tidak hanya memungkinkan pernyataan SQL saya menghindari kesalahan, tetapi juga memperbaikinya 1000 kali.
Jawa
- Keamanan thread (Bagian 1): Pahami secara menyeluruh kata kunci yang mudah menguap
- Keamanan benang (Bagian 2): Memahami sinkronisasi secara menyeluruh (dari kunci bias hingga kunci kelas berat)
- Dalam satu kalimat, Anda dapat mempelajari berbagai kunci seperti kunci kelas berat, kunci putar, kunci ringan, kunci bias, kunci pesimistis, dan kunci optimis.
- Inti dari konkurensi: apa itu CAS? Bagaimana Java8 mengoptimalkan CAS?
- Apakah Anda berani untuk tidak mempelajari kelas sinkronisasi terpenting dalam paket konkurensi Java?
- Harap standarkan gaya pengkodean Anda
Git
- Saya baru-baru ini mempelajari Git dari awal dan merangkum panduan perintah Git ini
Rekomendasi buku berkualitas tinggi yang pernah saya baca
- Rekomendasi buku berkualitas tinggi yang saya baca selama empat tahun kuliah
- Buku apa yang layak dibaca tentang algoritma dan dasar-dasar komputer?
Menindaklanjuti
Saya harap e-book ini bermanfaat bagi Anda. Jika semua orang merespons dengan baik, saya akan terus menambahkan konten nanti. Ini adalah versi awal dan mungkin memiliki banyak kekurangan, seperti kesalahan ketik dan kesalahan penulisan poin pengetahuan tertentu pertemuan Jika Anda memiliki pertanyaan, Anda dapat menemukan saya melalui akun resmi saya. Anda dapat meninggalkan pesan di akun resmi saya, atau menambahkan WeChat pribadi saya secara langsung.
Menghargai
Tidak mudah mengatur e-book. Jika Anda merasa terbantu dan ingin memberi penghargaan kepada penulisnya, Anda dapat memberi saya hadiah melalui kode pembayaran ini. Jumlahnya tidak penting, tapi niat Anda yang terpenting Saya bisa menggunakan status reward ini. Saya harap semua orang akan mengomentari e-book ini, hehe.
Catatan: Anda dapat mencatat nama panggilan Anda saat melakukan pembayaran. Bisa berupa CSDN, WeChat, GitHub, dll.