50 Pertanyaan dan Jawaban Wawancara Rekayasa Perangkat Lunak

Berikut adalah pertanyaan dan jawaban wawancara Rekayasa Perangkat Lunak untuk kandidat baru dan berpengalaman untuk mendapatkan pekerjaan impian mereka.

 

Pertanyaan dan Jawaban Wawancara Pengembang Perangkat Lunak untuk Mahasiswa Baru

1) Apa saja kategori penting perangkat lunak?

  • software sistem
  • Aplikasi perangkat lunak
  • Perangkat lunak tertanam
  • Aplikasi Web
  • Perangkat lunak Kecerdasan Buatan
  • Perangkat lunak ilmiah.

Unduhan PDF Gratis: Pertanyaan & Jawaban Wawancara Rekayasa Perangkat Lunak


2) Apa perbedaan utama antara program komputer dan perangkat lunak komputer?

Program komputer adalah sepotong kode pemrograman. Ia melakukan tugas yang terdefinisi dengan baik. Di sisi lain, perangkat lunak mencakup kode pemrograman, dokumentasi dan panduan pengguna.


3) Apa yang dimaksud dengan rekayasa ulang perangkat lunak?

Ini adalah proses pengembangan perangkat lunak yang dilakukan untuk meningkatkan pemeliharaan sistem perangkat lunak.

Pertanyaan Rekayasa Perangkat Lunak


4) Jelaskan proses pengembangan perangkat lunak secara singkat:

Pengembangan perangkat lunak merupakan suatu siklus hidup yang terdiri dari tahapan-tahapan berikut:

  • Analisis kebutuhan
  • Spesifikasi
  • Arsitektur perangkat lunak
  • Organisasi
  • pengujian
  • Dokumentasi
  • Pelatihan dan dukungan
  • pemeliharaan

5) Apa saja model SDLC yang tersedia?

Model Air Terjun, Model Spiral, Model Tas Besar, Model Iteratif, dan Model V adalah beberapa yang terkenal model SDLC.


6) Apa yang dimaksud dengan verifikasi dan validasi?

Verifikasi:

Verifikasi adalah istilah yang mengacu pada serangkaian aktivitas yang memastikan bahwa perangkat lunak mengimplementasikan fungsi tertentu.

Validasi:

Ini mengacu pada serangkaian aktivitas yang memastikan bahwa perangkat lunak yang telah dibangun sesuai dengan kebutuhan klien.


7) Dalam proses pengembangan perangkat lunak apa yang dimaksud dengan debugging?

Debugging adalah proses yang menghasilkan penghapusan kesalahan. Ini adalah bagian yang sangat penting dari keberhasilan pengujian.


8) Bagaimana Anda bisa memastikan bahwa kode Anda aman dan cepat?

Dalam perangkat lunak, keamanan pengembangan selalu menjadi yang utama. Jadi jika eksekusi program lambat, saya akan mencoba mengidentifikasi alasan di balik kompleksitas waktunya.


9) Sebutkan dua alat yang digunakan untuk melacak kebutuhan perangkat lunak?

Ada banyak cara untuk melacak persyaratan.

Dua yang umum digunakan adalah:

  • Buatlah dokumen spesifikasi persyaratan untuk mencantumkan semua persyaratan.
  • Buat lembar excel daftar persyaratan, jenis, ketergantungan, prioritas, dll.

10) Apa perbedaan utama antara stub dan mock?

Stub adalah implementasi minimal dari antarmuka yang umumnya mengembalikan data hardcode sementara tiruan biasanya memverifikasi keluaran sesuai harapan. Harapan-harapan itu ditentukan dalam ujian.


11) Bahasa apa yang Anda suka untuk menulis algoritma pemrograman?

Setiap pengembang memiliki pandangannya masing-masing dalam hal pilihan bahasa pemrograman. Meskipun demikian, seseorang sebaiknya memilih bahasa tingkat tinggi karena bersifat dinamis. Seperti C dan C++ bahasa.


12) Apa itu perangkat lunak komputer?

Perangkat lunak komputer adalah paket yang mencakup program perangkat lunak, dokumentasinya, dan panduan pengguna tentang cara menggunakan perangkat lunak.


13) Menurut Anda model SDLC manakah yang terbaik?

Tidak ada pemeringkatan seperti itu, karena Model SDLC diadopsi sesuai kebutuhan untuk proses pengembangan. Ini mungkin berbeda antara perangkat lunak dan perangkat lunak.


14) Siapa manajer proyek perangkat lunak? Apa perannya?

Manajer proyek perangkat lunak adalah orang yang bertanggung jawab untuk mengelola proyek pengembangan perangkat lunak.

Manajer proyek melakukan perencanaan proyek, memantau kemajuan, komunikasi. Ia juga mengelola risiko dan sumber daya untuk menyelesaikan proyek dalam batasan waktu, biaya, dan kualitas.


15) Apa yang dimaksud dengan ruang lingkup perangkat lunak?

Ruang lingkup perangkat lunak adalah batasan yang jelas. Ini mencakup semua jenis aktivitas yang dilakukan untuk mengembangkan dan mengirimkan produk perangkat lunak.

Ruang lingkup perangkat lunak mendefinisikan semua fungsi dan artefak yang akan dikirimkan sebagai bagian dari perangkat lunak. Ruang lingkup juga mengidentifikasi apa yang akan dilakukan produk? Apa yang bukan bagian dari proyek? Apa itu estimasi proyek?

Proses ini berguna untuk memperkirakan berbagai aspek produk perangkat lunak. Estimasi ini dapat diputuskan dengan berkonsultasi dengan para ahli atau dengan menggunakan rumus yang telah ditentukan sebelumnya.


16) Bagaimana cara mengetahui ukuran produk perangkat lunak?

Ukuran produk perangkat lunak dapat dihitung dengan menggunakan dua metode berikut

  • Menghitung baris kode yang dikirimkan
  • Menghitung titik fungsi yang dikirimkan

17) Apa yang dimaksud dengan titik fungsi?

Poin fungsi adalah fitur yang disediakan oleh produk perangkat lunak. Ini dianggap sebagai pengukuran paling penting untuk ukuran perangkat lunak.


18) Apa saja teknik estimasi proyek perangkat lunak yang tersedia?

Teknik estimasi yang paling banyak digunakan adalah:

  • Teknik dekomposisi
  • Teknik empiris

19) Apa yang dimaksud dengan manajemen konfigurasi perangkat lunak?

Manajemen konfigurasi perangkat lunak adalah proses pelacakan dan pengendalian perubahan yang terjadi pada perangkat lunak.

Kontrol perubahan adalah fungsi yang memastikan bahwa semua perubahan yang dilakukan pada sistem perangkat lunak konsisten dan dibuat menggunakan aturan dan regulasi organisasi.


20) Bagaimana Anda mengukur pelaksanaan proyek?

Kita dapat mengukur pelaksanaan proyek menggunakan Pemantauan Aktivitas, Laporan Status, dan Daftar Periksa Pencapaian.


21) Ceritakan tentang beberapa alat manajemen proyek.

Ada banyak jenis alat manajemen yang digunakan sesuai kebutuhan proyek perangkat lunak. Beberapa di antaranya adalah Pert Chart, Gantt Chart, Resource Histogram, Status Report, dll.


22) Apa saja persyaratan perangkat lunak?

Persyaratan perangkat lunak adalah deskripsi fungsional dari sistem perangkat lunak yang diusulkan. Diasumsikan sebagai deskripsi sistem target, fungsi, dan fiturnya.


23) Apa yang dimaksud dengan studi kelayakan?

Ini adalah ukuran untuk mengetahui seberapa praktis dan bermanfaat pengembangan proyek perangkat lunak bagi organisasi. Penganalisis perangkat lunak melakukan studi untuk mengetahui kelayakan ekonomi, teknis, dan operasional proyek.

  1. Ekonomi: Ini mencakup biaya pelatihan, biaya tambahan dan peralatan serta estimasi keseluruhan biaya dan manfaat proyek.
  2. Teknis: Ini mengevaluasi aspek teknis. Apakah mungkin untuk mengembangkan sistem ini? Menilai kesesuaian mesin dan OS tempat perangkat lunak akan dijalankan, pengetahuan tentang pengembangan perangkat lunak dan alat yang tersedia untuk proyek ini.
  3. Operanasional: Di sini analis perlu menilai bahwa organisasi akan mampu menyesuaikan diri dengan lancar terhadap perubahan yang dilakukan sesuai permintaan proyek. Apakah permasalahan tersebut layak untuk diselesaikan sesuai dengan perkiraan biayanya?

Setelah mempelajari semua ini, laporan kelayakan akhir dibuat.


24) Apa yang dimaksud dengan persyaratan fungsional dan non-fungsional?

Persyaratan fungsional adalah fitur fungsional yang diharapkan oleh pengguna dari produk perangkat lunak yang diusulkan.

Persyaratan non-fungsional terkait dengan keamanan, kinerja, tampilan, dan nuansa antarmuka pengguna.


25) Apa yang dimaksud dengan metrik perangkat lunak?

Metrik Perangkat Lunak menawarkan ukuran untuk berbagai aspek proses perangkat lunak yang dibagi menjadi:

  1. Metrik persyaratan: Persyaratan panjang, kelengkapan
  2. Metrik produk: Jumlah Garis pengkodean, metrik berorientasi objek, metrik desain dan pengujian.

26) Apa itu modularisasi?

Modularisasi adalah teknik yang digunakan untuk membagi sistem perangkat lunak menjadi berbagai modul rahasia. Artinya diharapkan dapat melaksanakan tugas secara mandiri.


27) Apa itu kohesi?

Kohesi adalah ukuran yang mendefinisikan saling ketergantungan antar elemen modul.


28) Sebutkan beberapa alat analisis & desain perangkat lunak?

Beberapa alat analisis dan perancangan perangkat lunak yang paling penting adalah:

  • Diagram Aliran Data
  • Bagan Terstruktur
  • Bahasa Inggris Terstruktur
  • Kamus data
  • Diagram Proses Input Output Hirarkis
  • Diagram Hubungan Entitas dan tabel Keputusan

29) Apa yang dimaksud dengan diagram aliran data level-0?

Level abstraksi tertinggi disebut Level 0 DFD. Ini juga disebut DFD tingkat konteks. Ini menggambarkan keseluruhan sistem informasi sebagai satu diagram.


30) Apa perbedaan utama antara Bahasa Inggris Terstruktur dan Kode Pseudo?

Bahasa Inggris Terstruktur adalah bahasa Inggris asli. Ini digunakan untuk menulis struktur modul program. Ini menggunakan kata kunci bahasa pemrograman. Di sisi lain, Pseudo Code lebih mirip dengan bahasa pemrograman tanpa sintaks bahasa tertentu.


Rekayasa Perangkat Lunak viva Tanya Jawab untuk Berpengalaman

31) Apa itu desain terstruktur?

Desain terstruktur adalah konseptualisasi masalah. Ini juga disebut desain solusi dan didasarkan pada strategi 'memecah belah dan menaklukkan'.


32) Apa itu pemrograman fungsional?

Ini adalah metode pemrograman yang menggunakan konsep fungsi matematika. Metode ini menyediakan sarana komputasi sebagai fungsi matematika, yang juga menghasilkan hasil tanpa mempedulikan status program.


33) Apa itu Penjaminan Mutu vs. Pengendalian Mutu?

Quality Assurance memeriksa apakah proses yang tepat telah diikuti saat mengembangkan perangkat lunak, sedangkan Quality Control berkaitan dengan menjaga kualitas produk perangkat lunak.


34) Apa yang dimaksud dengan alat CASE?

CASE berarti Berbantuan Komputer Rekayasa Perangkat Lunak. Mereka adalah serangkaian program aplikasi perangkat lunak otomatis, yang digunakan untuk mendukung, meningkatkan dan memperkuat aktivitas SDLC.


35) Model proses mana yang menghilangkan cacat sebelum perangkat lunak mendapat masalah?

Metode rekayasa perangkat lunak ruang bersih menghilangkan cacat sebelum perangkat lunak mendapat masalah.


36) Selesaikan masalah ini

Ada dua puluh kaus kaki berbeda dari dua jenis di dalam laci di satu ruangan gelap. Berapa jumlah minimum kaus kaki yang perlu Anda bawa untuk memastikan Anda memiliki kaus kaki yang serasi?โ€

Jika Anda mengambil tiga kaus kaki, jenis kaus kaki tersebut mungkin sama meskipun kemungkinannya 50%. Peluang tidak pernah sama dengan kenyataan. Oleh karena itu, satu-satunya cara untuk 'memastikan Anda memiliki pasangan yang cocok' adalah dengan mengambil setidaknya 11 jumlah guncangan.


37) Bagaimana Anda dapat memastikan bahwa kode tertulis Anda dapat menangani berbagai macam situasi kesalahan?

Saya dapat menulis tes yang menentukan situasi kesalahan yang diharapkan.


38) Jelaskan perbedaan antara Thread dan Proses?

Suatu proses adalah contoh dari program komputer. Dalam satu program dimungkinkan untuk memiliki satu atau lebih thread.


39) Ceritakan perbedaan antara EXE dan DLL?

Exe adalah program yang dapat dieksekusi sedangkan DLL adalah file yang dapat dimuat dan dijalankan oleh program secara dinamis. Ini adalah tempat penyimpanan kode eksternal untuk program. Karena keduanya adalah program yang berbeda, gunakan kembali DLL yang sama alih-alih memasukkan kode tersebut ke dalam filenya. Ini juga mengurangi ruang penyimpanan yang dibutuhkan.


40) Apa yang dimaksud dengan pengetikan kuat dan pengetikan lemah? Mana yang lebih disukai? Mengapa?

Strong typing memeriksa tipe variabel pada waktu kompilasi. Di sisi lain, weak typing memeriksa tipe sistem pada waktu proses. Di antara semuanya, Strong typing selalu lebih disukai karena meminimalkan bug.


41) Jelaskan perbedaan antara pemrograman berorientasi Antarmuka, berorientasi Objek, dan berorientasi Aspek.

  • Pemrograman antarmuka berbasis kontrak.
  • Berorientasi objek adalah cara untuk menulis objek granular yang memiliki satu tujuan.
  • Pemrograman Berorientasi Aspek adalah memisahkan kode sedemikian rupa sehingga berbagai objek menjalankan tugas utama, dan tugas tambahan dijalankan oleh objek independen.

42) Mengapa menggunakan catch (pengecualian) selalu merupakan ide yang buruk?

Itu adalah ide yang buruk karena:

  • Karena tidak ada variabel yang ditentukan, pengecualian tidak dapat dibaca
  • Ada baiknya menggunakan pengecualian ketika Anda mengetahui jenis pengecualian.

43) Jenis data apa yang dikirimkan melalui HTTP Header?

Skrip dan metadata diteruskan melalui header HTTP.


44) Bagaimana Anda memprioritaskan persyaratan?

Pertama, Anda perlu merancang sistem dengan mengevaluasi struktur data. Kemudian Anda harus beralih ke struktur kode yang diperlukan untuk mendukungnya.


45) Beri saya perbedaan antara desain berorientasi objek dan berbasis komponen?

Desain berorientasi objek dapat dengan mudah diringkas sampai tingkat tertentu dalam desain berbasis komponen.


46) Kapan Anda menggunakan polimorfisme?

Polimorfisme digunakan ketika ada kebutuhan untuk mengesampingkan fungsionalitas saat mewarisi kelas. Ini tentang kelas bersama dan kontrak bersama.


47) Apa perbedaan antara tumpukan dan antrian?

  • Antrian selalu First In, First Out
  • Tumpukan selalu Masuk Terakhir, Keluar Pertama

48) Apa yang penting untuk menguji kualitas kode?

Menurut saya, kerangka pengujian unit sangat penting untuk menguji kualitas kode.


49) Apakah menurut Anda pemeliharaan perangkat lunak itu mahal?

Menurut saya, pemeliharaan software tidak akan pernah mahal jika kita menggunakan proses pengembangan yang tepat.


50) Beri saya perbedaan antara tag dan cabang?

Tag adalah untuk rilis versi yang merupakan tempat penyimpanan sementara untuk melakukan hal seperti itu. Namun, cabang akan dihapus ketika perubahan tersebut digabungkan ke dalam trunk.


51) Di manakah variabel tingkat kelas yang dilindungi tersedia?

Variabel tingkat kelas yang dilindungi tersedia untuk setiap subkelas yang diturunkan dari kelas dasar.


52) Apakah mungkin untuk mengeksekusi beberapa blok catch untuk satu pernyataan try?

Ya. Beberapa blok catch dapat dieksekusi untuk satu pernyataan try.


53) Kapan Anda perlu mendeklarasikan kelas sebagai abstrak?

Kita harus mendeklarasikan suatu kelas sebagai abstrak dalam situasi berikut:

  1. Ketika kelas diwarisi dari kelas abstrak, tetapi tidak semua metode abstrak telah ditimpa.
  2. Dalam kasus ketika minimal salah satu metode di kelas dideklarasikan sebagai abstrak.

54) Kembangkan algoritma yang menampilkan lokasi Anda saat ini dan daftar lokasi ATM di area tersebut. Dapatkan Anda ATM K terdekat dengan lokasi Anda.

Buat metode getDistance(a, b) yang menghitung jarak antara a dan b.

Kode:

import java.util.HashMap;

import java.util.Map;

import java.util.PriorityQueue;

public class PrioRQueueExample {

public static void main(String[] args){

PriorityQueue<Double> pq = new PriorityQueue<Double>((x,y)-> {Double z = y-x;return z.intValue(); });

PrioRQueueExample pqe = new PrioRQueueExample();

//Number of ATMs to return i.e. K

int num_ATMs = 3;

double curr_loc = 0.00;

Map<String,Double> nallATMLocs = new HashMap<String,Double>();

//Map of ATM names and their distance co-ordinates

nallATMLocs.put("atm1",45.0);

nallATMLocs.put("atm2",78.0);

nallATMLocs.put("atm3",54.0);

nallATMLocs.put("atm4",64.0);

nallATMLocs.put("atm5",35.0);

nallATMLocs.put("atm6",42.0);

nallATMLocs.put("atm7",57.0);

nallATMLocs.put("atm7",1.00);

nallATMLocs.forEach((atm,dist) ->{if(pq.size() < num_ATMs){

pq.add(pqe.getLocation(curr_loc,dist));}

else{

if(        pq.peek() > pqe.getLocation(curr_loc,dist)){

pq.poll();

pq.add(pqe.getLocation(curr_loc,dist));

}

}

});

pq.forEach(atmLoc -> System.out.println(atmLoc));

}

private double getLocation(double curr,double atm){

return atm - curr;

}

}

Pertanyaan wawancara ini juga akan membantu dalam viva Anda (lisan)