Bukan Lulusan IT, Tetap Bisa Menjadi Developer
#14. Pertanyaan Umum Wawancara Teknis untuk Developer Pemula
- Area Kode: Area penyimpanan kode sumber program, di mana CPU mengambil instruksi (sumber, fungsi, pernyataan kontrol) yang disimpan di area kode dan memprosesnya. Misalnya, saat program yang ditulis dalam bahasa C dieksekusi, area kode menyimpan kode sumber program tersebut.
- Area Data: Area penyimpanan variabel global dan variabel statis, yang dialokasikan saat program dimulai dan tidak hilang hingga program berakhir. Misalnya, saat program yang ditulis dalam bahasa C dieksekusi, area data menyimpan variabel global atau variabel statis yang dideklarasikan dalam program tersebut.
- Area Stack: Area memori sementara yang digunakan oleh program, yang menyimpan variabel lokal dan parameter yang terkait dengan pemanggilan fungsi. Dialokasikan saat fungsi dipanggil dan hilang saat fungsi berakhir. Misalnya, saat fungsi dalam bahasa C dipanggil, variabel lokal atau parameter yang digunakan dalam fungsi tersebut dialokasikan ke area stack.
- Area Heap: Area di mana pengguna mengalokasikan dan melepaskan ruang memori secara dinamis. Misalnya, saat memori dialokasikan secara dinamis menggunakan fungsi malloc() dalam bahasa C, area memori yang dialokasikan disimpan di area heap.
- Stack: Struktur data yang menggunakan metode Last-In, First-Out (LIFO). Misalnya, tombol 'Kembali' pada komputer mirip dengan stack. Halaman yang dikunjungi sebelumnya disimpan dalam stack, dan saat tombol 'Kembali' ditekan, halaman yang terakhir disimpan diambil dan ditampilkan.
- Queue: Struktur data yang menggunakan metode First-In, First-Out (FIFO). Misalnya, mengambil nomor antrean di bank mirip dengan queue. Orang yang datang pertama kali dilayani terlebih dahulu, dan orang yang datang terakhir dilayani terakhir.
- Tree: Struktur data yang merepresentasikan data dalam bentuk hierarki. Misalnya, DOM (Document Object Model) HTML mirip dengan tree. Struktur halaman HTML direpresentasikan sebagai tree, dimulai dari node root yaitu tag html, dan kemudian diikuti oleh node-node turunannya secara berurutan.
- Heap: Salah satu struktur binary tree, dibagi menjadi max heap dan min heap. Misalnya, dalam priority queue, data dengan prioritas tertinggi berada di node root heap, dan data dengan prioritas berikutnya berada di node turunannya. Ini adalah contoh dari max heap.
- RDBMS: Database yang mendefinisikan dan mengelola data secara struktural dengan skema yang ketat. Data dapat disimpan secara terdistribusi dan mudah diubah. Misalnya, MySQL, Oracle, dan MS-SQL adalah contoh umum dari RDBMS.
- NoSQL: Database yang menyimpan dan mengelola data dengan skema yang fleksibel. Cocok untuk memproses dan menyimpan data dalam jumlah besar, serta memiliki skalabilitas yang tinggi. Misalnya, MongoDB, Cassandra, dan HBase adalah contoh umum dari NoSQL.
[Pemrograman Prosedural dan Berorientasi Objek]
- Pemrograman Prosedural: Teknik pemrograman yang menekankan pada pemrosesan secara berurutan. Bahasa seperti C dan Pascal adalah bahasa prosedural.
- Pemrograman Berorientasi Objek: Metode yang menggabungkan data dan prosedur secara logis ke dalam konsep yang disebut objek (Object). Java, C++, dan Python adalah contoh bahasa berorientasi objek. Misalnya, dalam program simulasi mobil, mobil direpresentasikan sebagai objek, dan atribut yang dimiliki mobil (warna, akselerasi, dll.) direpresentasikan sebagai data, dan fungsi yang dilakukan mobil (berjalan, berhenti, dll.) direpresentasikan sebagai method.
[Overriding dan Overloading]
- Overriding: Mengganti definisi method yang dimiliki class induk oleh class turunan. Saat method induk dipanggil dari class turunan, method yang ditimpa (override) pada class turunan akan dieksekusi, bukan method pada class induk. Misalnya, method toString() di Java adalah contoh dari overriding.
- Overloading: Mendeklarasikan beberapa method dengan nama yang sama, tetapi dengan tipe dan jumlah parameter yang berbeda untuk merespons pemanggilan yang beragam. Beberapa method dengan nama yang sama tetapi parameter yang berbeda akan dijalankan. Misalnya, method print() di Java adalah contoh dari overloading.
[Algoritma Penggantian Halaman]
- FIFO: Mengganti halaman yang paling lama berada di memori fisik. Di komputer, 'Tutup dari Taskbar' juga mirip dengan algoritma FIFO. Program yang pertama kali dijalankan biasanya ditampilkan terakhir dan ditutup terakhir.
- LRU: Mengganti halaman yang paling lama tidak digunakan. Aplikasi yang menutup aplikasi lama yang jarang digunakan juga mirip dengan algoritma LRU.
- LFU: Mengganti halaman dengan jumlah referensi paling sedikit. Misalnya, di browser, fungsi 'Tutup Tab' juga mirip dengan algoritma LFU. Tab yang baru dibuka dan paling jarang digunakan akan ditutup.
- MFU: Mengganti halaman dengan jumlah referensi paling banyak. Algoritma MFU jarang digunakan.
- Proses: Unit eksekusi yang dialokasikan dari sistem operasi yang merepresentasikan program. Jika beberapa proses dieksekusi secara bersamaan, setiap proses akan dialokasikan memori dan CPU yang independen.
- Thread: Unit eksekusi dalam proses yang berbagi sumber daya yang dialokasikan ke proses. Misalnya, setiap tab di browser web tidak bekerja sebagai proses, melainkan sebagai thread.
- Application layer: Layer yang menghubungkan pengguna dengan jaringan, termasuk protokol seperti HTTP, FTP, dan SMTP.
- Presentation layer: Layer yang mendefinisikan cara data direpresentasikan, termasuk protokol seperti JPEG, MPEG, dan SSL.
- Session layer: Layer yang mengelola sesi antara dua sistem yang berkomunikasi.
- Transport layer: Layer yang bertanggung jawab atas pengiriman data, termasuk protokol seperti TCP dan UDP.
- Network layer: Layer yang menetapkan jalur untuk pengiriman data, termasuk protokol seperti IP dan ICMP.
- DataLink layer: Layer yang mengirimkan data berdasarkan alamat fisik (alamat MAC), termasuk protokol seperti Ethernet dan Token Ring.
- Physical layer: Layer yang menangani koneksi fisik dan media transmisi komunikasi.
- TCP: Layanan berorientasi koneksi yang mengirimkan data dengan andal. Menggunakan metode 3-way handshaking dan 4-way handshaking untuk membangun dan memutuskan koneksi. Misalnya, saat login ke situs web atau mentransfer file, TCP digunakan.
- UDP: Layanan tanpa koneksi yang tidak melalui prosedur sinyal untuk pengiriman data, keandalan data rendah tetapi kecepatan pemrosesannya cepat. Misalnya, streaming video atau game online, di mana kecepatan pengiriman sangat penting, menggunakan UDP.
Komentar0