PROGRAMMER QUIZ
Kategori soal yang tidak memiliki tanda bintang (*) tidak wajib untuk diisi, tetapi jika diisi akan menjadi
nilai tambah
Warmup test*
1. Dibawah ini terdapat beberapa link untuk melakukan tes dasar algoritma, test ini bisa dilakukan dengan
bahasa apa saja (diutamakan Node Js, Go, Python, Java, Kotlin, PHP).
https://www.hackerrank.com/challenges/simple-array-sum
https://www.hackerrank.com/challenges/compare-the-triplets
https://www.hackerrank.com/challenges/a-very-big-sum
d. StairCase
https://www.hackerrank.com/challenges/staircase
https://github.com/annandltp/dimy_test
Untuk membantu mengurangi kompleksitas, meningkatkan kejelasan, dan membuat kode lebih mudah
dimengerti serta lebih mudah dikelola
2. Apakah komentar dalam kode berguna ?, sebagian orang menyarankan komentar dalam kode sebaiknya
dihindari. Apakah anda setuju dengan hal tersebut ?, jelaskan alasannya.
Perlu, tapi tidak semuanya dengan cara memberikan sedikit komentar tapi dengan cara yang ringkas. Tidak
perlu banyak hiasan seperti membuat bingkai mengelilingi komentar. Cukup membuat deskripsi singkat di
samping baris kode.
3. What makes good code good?
Easy to read and understand by other programmers
Web development
1. Jelaskan tentang API versioning dan kegunaannya, dan bagaimana anda akan memanage API versioning
pada Web Services ?
Berguna untuk membuat perubahan pada API yang sudah ada, tapi ingin memastikan agar tidak
menyenggol yang versi sebelumnya.
Database
1. How would you explain the recent rise in interest in NoSQL?
The rise in interest in NoSQL databases is driven by the need for scalable flexible, and high-performance
data storage solution that can handle modern data challenges
Writing software is challenging due to its inherently abstract nature, where developers must translate
complex logic and requirements into code without a physical form. The ever-changing nature of software
requirements, coupled with an almost infinite range of possible tasks software can perform, makes the
development process complex and iterative. Bugs and debugging add to the difficulty, requiring strong
problem-solving skills.
Maintaining software compounds these challenges with the continuous growth of complexity, the presence
of legacy code lacking modern documentation, and the need to manage dependencies, security, and
technical debt.