![translation](https://cdn.durumis.com/common/trans.png)
Ini adalah postingan yang diterjemahkan oleh AI.
[Non-Major, Survive as a Developer] 14. Ringkasan Konten Wawancara Teknis yang Sering Ditanyakan untuk Pengembang Pemula
- Bahasa penulisan: Bahasa Korea
- •
-
Negara referensi: Semua negara
- •
- TI
Pilih Bahasa
Teks yang dirangkum oleh AI durumis
- Ini merangkum pertanyaan-pertanyaan terkait teknis yang sering diajukan dalam wawancara pengembang pemula, dan memberikan penjelasan tentang berbagai topik seperti area memori, struktur data, basis data, pemrograman, algoritma penggantian halaman, proses dan thread, OSI 7 layer, TCP dan UDP.
- Penjelasan singkat tentang setiap topik disertai dengan contoh-contoh khas untuk membantu pemahaman.
- Ini berisi informasi berguna yang dapat membantu pengembang mendapatkan pengetahuan teknis dasar yang diperlukan saat mempersiapkan wawancara.
Menjadi Pengembang Tanpa Latar Belakang, Bertahan Hidup
#14. Pertanyaan Wawancara Teknis yang Sering Ditanyakan kepada Pengembang Baru
[Area Memori Utama]
- Area Kode: Area tempat kode sumber program disimpan, CPU mengambil instruksi (sumber, fungsi, pernyataan kontrol) yang disimpan di area kode untuk diproses. Misalnya, ketika program yang ditulis dalam bahasa C dijalankan, area kode berisi kode sumber program tersebut.
- Area Data: Area tempat variabel global dan variabel statis disimpan, dialokasikan bersama dengan permulaan program, dan tidak dihancurkan hingga program berakhir. Misalnya, ketika program yang ditulis dalam bahasa C dijalankan, area data berisi variabel global atau variabel statis yang dideklarasikan dalam program tersebut.
- Area Stack: Area memori sementara yang digunakan oleh program, menyimpan variabel lokal dan parameter yang berhubungan dengan pemanggilan fungsi. Dialokasikan bersama dengan pemanggilan fungsi, dan dihancurkan saat fungsi berakhir. Misalnya, ketika fungsi yang ditulis dalam bahasa C dipanggil, variabel lokal atau parameter yang digunakan dalam fungsi tersebut dialokasikan ke area stack.
- Area Heap: Area tempat pengguna mengalokasikan dan dealokasikan ruang memori secara dinamis. Misalnya, ketika memori dialokasikan secara dinamis menggunakan fungsi malloc() di bahasa C, area memori yang dialokasikan disimpan di area heap.
[Struktur Data]
- Stack: Struktur data yang mengikuti metode Last In, First Out (LIFO). Misalnya, tombol 'Kembali' di komputer mirip dengan stack. Halaman yang dikunjungi sebelumnya disimpan di stack, dan ketika Anda menekan tombol 'Kembali', halaman terakhir yang disimpan akan diambil dan ditampilkan.
- Queue: Struktur data yang mengikuti metode First In, First Out (FIFO). Misalnya, mengambil nomor antrean di bank mirip dengan antrean. Orang pertama yang datang akan dilayani terlebih dahulu, dan orang terakhir yang datang akan dilayani terakhir.
- Tree: Struktur data yang mewakili data dalam bentuk hierarkis. Misalnya, DOM Tree di HTML mirip dengan tree. Struktur halaman HTML direpresentasikan sebagai tree, dimulai dari node root yaitu tag html, dan kemudian node anak ditampilkan secara berurutan.
- Heap: Salah satu struktur pohon biner, dibagi menjadi heap maksimum dan heap minimum. Misalnya, dalam antrean prioritas, data dengan prioritas tertinggi ditempatkan di node root heap, dan data dengan prioritas berikutnya ditempatkan di node anak, yang merupakan contoh heap maksimum.
[RDBMS dan NoSQL]
- RDBMS: Basis data yang mendefinisikan dan mengelola data secara struktural dengan skema ketat. Data dapat disimpan secara terdistribusi, dan mudah diubah. Misalnya, MySQL, Oracle, dan MS-SQL adalah contoh umum RDBMS.
- NoSQL: Basis data yang menyimpan dan mengelola data dengan skema fleksibel. Cocok untuk menangani dan menyimpan data dalam jumlah besar, dan skalabilitasnya tinggi. Misalnya, MongoDB, Cassandra, dan HBase adalah contoh umum NoSQL.
[Prosedural dan Berorientasi Objek]
- Pemrograman Prosedural: Teknik pemrograman yang memprioritaskan pemrosesan sekuensial. Bahasa seperti C dan Pascal adalah bahasa prosedural.
- Pemrograman Berorientasi Objek: Cara memproses data dan prosedur secara logis dengan menggabungkan keduanya berdasarkan konsep objek (Object). Bahasa seperti Java, C++, dan Python adalah bahasa berorientasi objek. Misalnya, dalam program simulasi mobil, mobil direpresentasikan sebagai objek, atribut mobil (warna, akselerasi, dll.) direpresentasikan sebagai data, dan fungsi yang dilakukan mobil (berjalan, berhenti, dll.) direpresentasikan sebagai metode.
[Overriding dan Overloading]
- Overriding: Mendefinisikan ulang metode yang dimiliki kelas induk dalam kelas anak untuk digunakan. Ketika metode kelas induk dipanggil di kelas anak, metode yang didefinisikan ulang di kelas anak akan dijalankan daripada metode kelas induk. Misalnya, metode toString() di Java adalah contoh overriding.
- Overloading: Mendefinisikan beberapa metode dengan nama yang sama, tetapi dengan tipe dan jumlah parameter yang berbeda, untuk merespons berbagai jenis pemanggilan. Metode dengan nama yang sama tetapi dengan parameter yang berbeda akan berfungsi. Misalnya, metode print() di Java adalah contoh overloading.
[Algoritma Penggantian Halaman]
- FIFO: Halaman yang paling lama dimuat ke memori fisik akan diganti. Dalam komputer, 'Tutup' di taskbar juga mirip dengan algoritma FIFO. Program yang dijalankan pertama kali akan ditampilkan terakhir kali dan ditutup, seperti halnya penutupan aplikasi lama yang tidak digunakan.
- LRU: Halaman yang paling lama tidak digunakan akan diganti. 'Aplikasi Penutup Aplikasi' yang mengakhiri aplikasi lama yang tidak sering digunakan juga mirip dengan algoritma LRU.
- LFU: Halaman dengan jumlah referensi paling sedikit akan diganti. Misalnya, fungsi 'Tutup Tab' di browser yang menutup tab yang paling sedikit digunakan di antara tab baru yang dibuka juga mirip dengan algoritma LFU.
- MFU: Halaman dengan jumlah referensi terbanyak akan diganti. Algoritma MFU jarang digunakan.
[Proses dan Thread]
- Proses: Unit pekerjaan yang dijalankan yang dialokasikan dari sistem operasi, merujuk pada program. Jika beberapa proses dijalankan secara bersamaan, setiap proses akan dialokasikan area memori dan CPU yang independen.
- Thread: Unit yang dijalankan dalam proses, dan dijalankan sambil berbagi sumber daya yang dialokasikan untuk proses. Misalnya, setiap tab di browser web berfungsi sebagai thread, bukan proses.
[OSI 7Layer]
- Layer Aplikasi: Layer yang menghubungkan pengguna dengan jaringan, termasuk protokol seperti HTTP, FTP, dan SMTP.
- Layer Presentasi: Layer yang mendefinisikan cara representasi data, termasuk protokol seperti JPEG, MPEG, dan SSL.
- Layer Sesi: Layer yang mengelola sesi antara dua sistem yang berkomunikasi.
- Layer Transportasi: Layer yang bertanggung jawab untuk transmisi data, termasuk protokol seperti TCP dan UDP.
- Layer Jaringan: Layer yang mengatur rute untuk mengirim data, termasuk protokol seperti IP dan ICMP.
- Layer Data Link: Layer yang mengirimkan data berdasarkan alamat fisik (alamat MAC), termasuk protokol seperti Ethernet dan Token Ring.
- Layer Fisik: Layer yang bertanggung jawab untuk komunikasi fisik dan media transmisi.
[TCP dan UDP]
- TCP: Layanan berorientasi koneksi yang mengirimkan data secara andal. Menetapkan koneksi atau memutuskan koneksi melalui metode 3-way handshaking dan 4-way handshaking. Misalnya, ketika Anda masuk ke situs web atau mengirim file, Anda menggunakan metode TCP.
- UDP: Layanan tanpa koneksi yang tidak memerlukan prosedur sinyal untuk transmisi data, dan keandalan datanya rendah, tetapi kecepatan pemrosesannya cepat. Misalnya, streaming video atau game online membutuhkan kecepatan transmisi yang cepat, jadi mereka menggunakan metode UDP.