Saat ini, Git telah berkembang menjadi bagian yang tidak terlepaskan dari kehidupan perusahaan mana pun yang menggunakan metodologi DevOps. Bahkan ketika Anda tidak begitu tertarik dengan bidang rekayasa perangkat lunak, Git tetap dapat menjadi alat yang berguna untuk keperluan manajemen proyek – Git dapat membantu Anda mencapai kerja sama tim dan pencapaian yang baik. Sebagian besar perusahaan yang berbasis proyek mengharuskan karyawan mereka untuk mengetahui beberapa alat yang disediakan oleh Git. Di tutorial ini, Anda akan menemukan daftar pertanyaan wawancara Git yang paling banyak ditanyakan – daftar ini akan membantu Anda mendapatkan posisi kerja di perusahaan yang sudah tidak asing menggunakan Git!
Kita akan membahas beberapa pertanyaan dasar terlebih dahulu, dan setelah itu, kita akan berlanjut ke versi pertanyaan yang lebih didesain untuk mereka yang memiliki pengalaman. Walaupun Git merupakan alat yang luar biasa, terdapat tantangan tersendiri dalam menguasai alat yang satu ini. Maka dari itu, silahkan tarik nafas yang dalam sebelum Anda mulai tutorial ini!
Daftar Isi
- 1. Mengapa Pertanyaan Wawancara Dasar Penting
- 1.1. Pertanyaan 1: Apa itu Git?
- 1.2. Pertanyaan 2: Apa perbedaan antara ‘bare repository’ dan ‘working directory’?
- 1.3. Pertanyaan 3: Apa perbedaan antara ‘fork’ dan ‘branch’?
- 1.4. Pertanyaan 4: Anda telah membuat commit dan melakukan push, sekarang commit tersebut bersifat publik. Namun, Anda menyadari masih ada hal-hal yang harus diubah. Bisakah Anda melakukan ini di tahap commit? Apabila ia, bagaimana?
- 1.5. Pertanyaan 5: Apa itu ‘cherry-picking’?
- 1.6. Pertanyaan 6: Apa itu ‘stash’?
- 1.7. Pertanyaan 7: Apa yang dimaksud dengan ‘stash drop’ Git?
- 1.8. Pertanyaan 8: Bagaimana Anda menyelesaikan ‘konflik’ di Git?
- 1.9. Pertanyaan 9: Bahasa apa yang digunakan di Git?
- 1.10. Pertanyaan 10: Apa itu ‘pull request’?
- 1.11. Pertanyaan 11: Apa cara paling efisien untuk menemukan commit yang buruk?
- 1.12. Pertanyaan 12: Apa perbedaan antara Git dan GitHub?
- 1.13. Pertanyaan 13: Sebutkan beberapa platform penyedia jasa hosting repositori Git selain GitHub.
- 1.14. Pertanyaan 14: Apakah Anda tahu apa saja yang ada di dalam ‘commit object’?
- 1.15. Pertanyaan 15: Apa saja keunggulan yang didapat ketika menggunakan Git?
- 2. Daftar Pertanyaan Git Tingkat Mahir
- 2.1. Pertanyaan 1: Apa yang dimaksud dengan ‘head’?
- 2.2. Pertanyaan 2: Apa kegunaan dari ‘Git CONFIG’?
- 2.3. Pertanyaan 3: Apakah commit yang rusak bisa diperbaiki?
- 2.4. Pertanyaan 4: Apa perbedaan antara ‘get’ dan ‘pull’?
- 3. Kesimpulan
Mengapa Pertanyaan Wawancara Dasar Penting
Untuk memulai panduan ini dengan baik, kita akan mengkaji beberapa pertanyaan interview Git bersama dengan berbagai command Git yang paling dasar. Banyak orang cenderung mengabaikan tipe pertanyaan yang satu ini dan langsung bergegas ke materi yang lebih teknis – jangan sampai Anda seperti ini juga ya! Saya rasa saran yang satu ini sudah cukup jelas bagi mereka yang baru saja belajar menggunakan Git. Tapi, bahkan ketika Anda adalah seorang pengguna Git yang sudah berpengalaman, Anda tidak boleh menganggap enteng konsep-konsep yang lebih dasar. Kenapa begitu?
Penawaran Terakhir yang Aktif Saat Ini:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Ada kecenderungan di antara mereka yang sedang mempelajari daftar pertanyaan wawancara Git untuk terpaku membayangkan momen-momen ketika interview nanti. Terlintas di pikiran situasi di mana Anda dapat menjawab pertanyaan dengan begitu lancar. Satu hal yang sering kita lupakan adalah pada situasi wawancara kerja asli, stres seringkali menyerang kita. Stres tentunya mengarah ke rasa cemas, yang dapat membuat Anda lupa akan informasi dasar tentang Git yang sebenarnya ada di kepala Anda – apalagi kalau Anda tidak menghabiskan banyak waktu untuk belajar Git sebagai persiapan.
Sekarang Anda tahu mengapa penguasaan pertanyaan-pertanyaan dasar pun tetap penting. Tanpa berlama-lama lagi, yuk kita bahas pertanyaan yang paling pertama.
Pertanyaan 1: Apa itu Git?
Pastinya – Anda sudah berekspektasi pertanyaan yang satu ini akan keluar.
Sangat jarang rekruiter akan menanyakan tentang hal lain sebagai pertanyaan wawancara Git pertama mereka. Dengan memberikan jawaban yang tepat, Anda dapat menimbulkan kesan awal yang positif di mata rekruiter, dan interviewer pun sudah mulai memiliki gambaran terkait bagaimana wawancara Git akan berlangsung sampai akhir nantinya (tentunya gambarannya positif).
Jadi, apa itu Git?
Git adalah jenis teknologi yang dirancang untuk melacak dan mencatat perubahan pada tipe file komputer apapun, khususnya file-file yang digunakan oleh lebih dari satu atau dua orang (seperti di perusahaan). Dengan kata lain, alasan perusahaan menggunakan Git adalah untuk mengelola alur kerja dan melacak progres dari berbagai proyek yang mereka kerjakan. Teknologi ini utamanya digunakan untuk keperluan rekayasa perangkat lunak, tapi banyak perusahaan di seluruh dunia – yang tidak berkaitan dengan bisnis perangkat lunak apapun - menggunakan Git untuk alur kerja mereka. Git dikenal secara luas oleh para developer dan programmer – tool ini termasuk salah satu yang paling penting bagi mereka yang ingin mengelola produk menggunakan filsafat DevOps.
Pertanyaan 2: Apa perbedaan antara ‘bare repository’ dan ‘working directory’?
Salah satu jenis pertanyaan wawancara Git yang banyak keluar di wawancara adalah pertanyaan yang berkaitan dengan komparasi atau perbandingan. Cara terbaik untuk menjawab pertanyaan seperti ini adalah dengan memberikan jawaban yang singkat dan padat, tapi tetap menunjukkan bahwa Anda memiliki tingkat pemahaman yang mendalam.
Dua istilah ini pastinya sudah tidak asing di telinga orang-orang yang mengetahui cara menggunakan Git. Bare repository, mirip seperti namanya, tidak mengandung file kerja yang digunakan di Git. Tidak terdapat subdirektori, tidak ada kendali versi – hanya ada templat saja. Di sisi lain, working directory memiliki semua hal yang disebutkan sebelumnya – file kerja (dan riwayat perubahan), subdirektori, dll. Dengan kata lain, Anda bisa mengatakan bahwa bare repository adalah kebalikan dari working directory.
Pertanyaan 3: Apa perbedaan antara ‘fork’ dan ‘branch’?
Ini adalah salah satu pertanyaan wawancara Git yang sangat umum. Rekruiter mungkin saja meminta Anda untuk membandingkan dua konsep tersebut, atau hanya sekadar mendefinisikannya saja.
Konsep “fork” bukanlah sesuatu yang unik atau eksklusif hanya ada di Git. Fork pun banyak ditemukan di teknologi lainnya. Salah satu contohnya adalah penggunaan fork cryptocurrency – perubahan yang besar dalam cara kerja cryptocurrency. Di Git, fork sendiri tidak dianggap terlalu kontroversial, dan ia digunakan di situasi yang relatif stabil dan diketahui publik.
Di dalam Git, fork mengacu pada salinan repository yang terpisah dari repositori asli. Branch, di sisi lain, digunakan hanya untuk mengubah beberapa bagian dari suatu program (dilihat dari segi proses pengembangan produk) dan menyatukan perubahan tersebut dengan repositori yang utama.
Apabila dianalogikan, fork itu layaknya ketika kita mengubah keseluruhan eksterior mobil, sedangkan branch sekadar proses mengganti bagian ban dari mobil.
Pertanyaan 4: Anda telah membuat commit dan melakukan push, sekarang commit tersebut bersifat publik. Namun, Anda menyadari masih ada hal-hal yang harus diubah. Bisakah Anda melakukan ini di tahap commit? Apabila ia, bagaimana?
Ini adalah salah satu pertanyaan wawancara Git utama yang mengharuskan Anda untuk membayangkan suatu situasi atau skenario lalu memberitahu rekruiter bagaimana Anda akan menangani situasi tersebut. Perusahaan cenderung menyukai pertanyaan wawancara Git seperti ini karena sangat berhubungan dengan kasus nyata yang mungkin Anda pernah alami.
Untuk menjawab pertanyaan ini – ya, Anda masih bisa mengubah beberapa hal, bahkan ketika Anda mendorong commit tersebut dan membuatnya terbuka untuk publik. Cara untuk melakukan ini adalah dengan menjalankan command git revert
. Ini merupakan salah satu command Git yang paling umum dan banyak digunakan di keseharian developer di luar sana.
Yang dilakukan command ini adalah ia akan berfungsi sebagai “patch” terhadap commit yang ingin Anda ubah. Dengan cara ini, bahkan ketika Anda lupa menambahkan suatu hal sebelum mendeploy commit ke versi live, Anda masih dapat mengubah dan mengoreksinya nanti.
Pertanyaan 5: Apa itu ‘cherry-picking’?
Pertanyaan ini lebih condong ke dalam kategori pertanyaan wawancara Git yang sulit untuk dijawab. Istilah chery-picking sendiri tidak begitu banyak digunakan oleh developer (setidaknya dibandingkan dengan istilah-istilah dasar lainnya seperti “branch” atau “commit”).
Cherry-picking terjadi ketika Anda memutuskan untuk memilih commit dari satu branch berbasis Git dan menggunakan fitur-fitur commit tersebut untuk branch yang lainnya. Mungkin Anda bertanya mengapa istilah ini disebut sebagai “cherry-picking”. Jawabannya sederhana – sebagian besar command Git lain yang didasarkan pada transfer commit, mereka dirancang untuk menyalin beberapa commit secara bersamaan. Pada kasus cherry-picking, Anda hanya memilih satu commit tertentu untuk digunakan di branch lain.
Pertanyaan 6: Apa itu ‘stash’?
Di Git, stashes (bentuk jamak) termasuk ke dalam salah satu fitur yang banyak digemari oleh para developer maupun manajer. Stash memungkinkan Anda untuk memasukkan pekerjaan apapun yang sedang Anda kerjakan ke dalam stash sehingga Anda dapat berpindah dan mengerjakan bagian lain dari suatu proyek, tanpa harus khawatir Anda akan kehilangan file tersebut. Dengan kata lain, stash berfungsi sebagai unit penyimpanan – ia menyimpan proyek Anda bersamaan dengan berbagai fitur yang ada. Ini berarti Anda dapat melanjutkan hasil pekerjaan yang sempat Anda tinggalkan untuk beberapa waktu.
Pertanyaan 7: Apa yang dimaksud dengan ‘stash drop’ Git?
Stash drop merupakan command yang digunakan setelah Anda selesai menggunakan item yang di-stash atau ingin menghapusnya dari daftar. Command ini pun digunakan untuk menghapus item tertentu apabila Anda memasukkan argument khusus atau ia pun bisa digunakan untuk menghapus item stash yang ditambahkan paling baru secara default.
Pertanyaan 8: Bagaimana Anda menyelesaikan ‘konflik’ di Git?
Jangan sampai terkecoh dengan pertanyaan wawancara Git yang satu ini karena konflik di sini memiliki dua arti – untuk dapat menjawabnya dengan benar, Anda perlu tahu apa yang dimaksud dengan konflik atau ‘conflict’ di sini.
Pertanyaan ini akan memberikan sinyal kepada interviewer terkait seberapa dalam Anda mengetahui cara menggunakan Git. Ketika Anda mengerjakan commit lalu memutuskan untuk menggabungkannya, ia akan mengecek perubahan duplikat yang mungkin ada di commit yang sedang dikerjakan. Pada kasus di mana duplikat ditemukan, Git akan mengeluarkan ‘conflict’ – ini dilakukan Git karena Git tidak bisa begitu saja memutuskan perubahan mana yang benar, dan perubahan mana yang harus diabaikan. Kalau skenario semacam ini terus dikesampingkan, tentunya kualitas proyek akan terganggu – ini mengapa fitur ‘conflict’ yang dikeluarkan oleh Git menjadi penting.
Terdapat command Git yang sering digunakan untuk menyelesaikan conflict (seperti git add
dan git commit
). Ketika salah satunya dijalankan, Git akan mengatur ulang daftar commit dan menyelesaikan pekerjaannya.
Pertanyaan 9: Bahasa apa yang digunakan di Git?
Pertanyaan wawancara Git yang satu ini biasanya diikuti dengan pertanyaan follow-up, jadi Anda tentunya harus siap.
Git menggunakan bahasa “C”. Follow-up yang mungkin muncul adalah "kenapa Git menggunakan bahasa tersebut?". Jawaban singkatnya adalah bahasa “C” memungkinkan Git untuk bekerja dengan sangat cepat – sesuatu yang sulit untuk dicapai apabila Git menggunakan bahasa pemrograman yang termasuk ke dalam kategori tingkat tinggi.
Pertanyaan 10: Apa itu ‘pull request’?
Seiring berjalannya waktu, Anda akan sering mendengar dan menggunakan istilah ini, apalagi sebagai bagian dari pertanyaan wawancara Git.
Pull request adalah situasi ketika Anda mengambil suatu repositori dan membuat branch dari repositori tersebut. Setelah itu, Anda membuat beberapa perubahan dan menyatukan branch tersebut dengan proyek utama. Terdengar mirip dengan branch, tetapi pull request berbeda dengan branch di mana branch memiliki versi kodenya sendiri.
Pertanyaan 11: Apa cara paling efisien untuk menemukan commit yang buruk?
Walaupun Anda dapat menelusuri setiap commit yang ada secara manual untuk menemukan mana commit yang bermasalah, tidak ada satu pun orang yang menggunakan metode ini. Ini karena ada command yang memungkinkan Anda untuk mengecek daftar commit dengan cepat dan mudah, sehingga proses pencarian menjadi lebih lancar.
Command tersebut adalah git bisect
.
Pertanyaan 12: Apa perbedaan antara Git dan GitHub?
Kita sudah tahu bahwa Git sendiri merupakan sistem kendali versi yang bersifat terdistribusi dan yang digunakan untuk melacak perubahan kode source dalam proses pengembangan perangkat lunak. Git dapat melacak perubahan apapun di file manapun.
Untuk pertanyaan mengenai perbedaan Git vs GitHub yang satu ini, Anda perlu tahu apa itu GitHub. GitHub merupakan platform penyedia jasa hosting untuk repositori Git. Platform tersebut menyediakan antarmuka grafis berbasis web. Ia menyediakan berbagai alat manajemen tugas untuk proyek, kendali akses, dan fitur-fitur kolaborasi. Sangat mudah untuk menjelaskan perbedaan Git vs GitHub bukan?
Pertanyaan 13: Sebutkan beberapa platform penyedia jasa hosting repositori Git selain GitHub.
Jawabannya adalah:
- Pikacode
- GitEnterprise
- SourceForge.net
- Visual Studio Online
Pertanyaan 14: Apakah Anda tahu apa saja yang ada di dalam ‘commit object’?
- Serangkaian file yang merepresentasikan kondisi suatu proyek
- Referensi untuk commit object induk
- Nama SHAI yang merupakan 40 rentetan karakter yang secara unik mengidentifikasi commit object.
Pertanyaan 15: Apa saja keunggulan yang didapat ketika menggunakan Git?
Beberapa di antaranya adalah:
- Cocok untuk keperluan kolaborasi
- Tersedia untuk berbagai proyek
- Mudah diakses
- Redundancy dan replikasi data yang mudah
- Utilisasi disk dan performa jaringan
- Satu direktori Git untuk setiap repositori
Daftar Pertanyaan Git Tingkat Mahir
Kita telah membahas berbagai pertanyaan wawancara dasar yang sangat populer mengenai Git. Sekarang waktunya kita berpindah ke hal-hal yang berada di kategori mahir. Saya akan memberi Anda beberapa contoh pertanyaan wawancara Git tingkat mahir yang sering keluar – tetap harus diingat bahwa masih banyak variasi pertanyaan di luar sana yang tetap harus Anda pelajari. Akan mustahil bagi saya untuk memberikan semua pertanyaan yang ada, tapi saya rasa 4 contoh di bawah sudah cukup untuk membantu persiapan Anda.
Pertanyaan 1: Apa yang dimaksud dengan ‘head’?
Walaupun istilah ini tidak digunakan sesering berbagai istilah lainnya, head merupakan fitur yang Anda harus ketahui. Head pada Git digunakan untuk mengacu pada object dari commit. Head berlokasi di repositori, dan setiap repositori memili head default yang dikenal sebagai “Master”. Selain head default sendiri, suatu repositori dapat memiliki beberapa head yang berbeda.
Pertanyaan 2: Apa kegunaan dari ‘Git CONFIG’?
Ini adalah salah satu dari bejibun command yang harus Anda ketahui untuk dapat menjawab berbagai pertanyaan wawancara Git. Command git config
dapat digunakan untuk mengkonfigurasi berbagai opsi yang Anda butuhkan ketika menggunakan Git. Baik itu opsi mengenai info pengguna atau cara kerja repositori – metode konfigurasi ini sangatlah membantu.
Pertanyaan 3: Apakah commit yang rusak bisa diperbaiki?
Ya, bisa. Caranya adalah dengan menggunakan command git commit – amend
. Command ini akan menemukan commit yang rusak, memulihkan fungsionalitas, dan menghilangkan tanda eror.
- Mudah digunakan
- Menawarkan konten berkualitas
- Harga transparan
- Gratis sertifikat penyelesaian
- Fokus pada keahlian data science
- Waktu belajar yang fleksibel
- Desain yang sederhana (tidak ada informasi yang tidak perlu)
- Kursus-kursus berkualitas tinggi (bahkan untuk kategori yang gratis)
- Terdapat berbagai fitur khusus
- Program Nanodegree
- Cocok untuk perusahaan/firma
- Sertifikat kelulusan berbayar
- Cukup terkemuka di pasaran
- Tersedia beragam fitur
- Kursus setingkat universitas
- Kursus setingkat universitas
- Cocok untuk kalangan korporasi
- Sertifikat kelulusan berbayar
Pertanyaan 4: Apa perbedaan antara ‘get’ dan ‘pull’?
Ketika Anda meng-“pull” data, data akan diunduh dan langsung digabungkan dengan file kerja yang sedang Anda gunakan. Sebaliknya, “getting” atau “mendapatkan” data adalah sesuatu yang Anda lakukan ketika mengunduh data tetapi tidak ingin menggabungkannya dengan file kerja.
Apakah kamu tahu?
Pernahkah Anda bertanya-tanya situs belajar online mana yang terbaik untuk pengembangan karier Anda?
Kesimpulan
Sekarang, kita sudah mencapai akhir dari tutorial “Pertanyaan Wawancara Git” yang satu ini. Sejauh ini, kita telah menelisik berbagai macam pertanyaan wawancara baik yang tingkat dasar maupun tingkat mahir.
Jangan terlalu stres dan memforsir diri ketika belajar Git dan mempersiapkan interview Git Anda kelak. Saat waktu wawancara tiba, coba untuk bersikap relaks dan berikan jawaban yang jelas dan sistematis. Elaborasikan pertanyaan Anda apabila perlu – rekruiter akan menghargai upaya Anda.
Saya harap Anda dapat terbantu dengan daftar pertanyaan wawancara Git beserta setiap jawabannya di atas, dan tentunya saya berharap yang terbaik untuk wawancara kerja Anda.