Saya baru saja menelepon wawancara dengan perusahaan untuk posisi pengembang perangkat lunak pascasarjana dan ditanyai pertanyaan-pertanyaan berikut. Saya harus menambahkan bahwa perusahaan yang bersangkutan bukan vendor basis data.
Bagaimana cara kerja pengoptimal permintaan?
Jika database berkinerja buruk, bagaimana Anda akan menggunakan log kinerja untuk mengetahui masalahnya.
Saya telah bertanya apakah mereka mengajukan pertanyaan seperti itu dari semua calon pengembang perangkat lunak (lulusan atau yang berpengalaman) dalam wawancara telepon pertama. Mereka menjawab bahwa mereka suka menguji pengetahuan kandidat mereka tentang pengembangan basis data.
Saya ingin menulis kepada perusahaan untuk mengatakan bahwa pertanyaan-pertanyaan ini tidak masuk akal untuk ditanyakan pada wawancara pengembang perangkat lunak dan untuk meminta agar wawancara saya selesai.
Saya ingin memeriksa kewajaran asumsi berikut
a) Pertanyaan-pertanyaan itu tidak dapat secara adil diklasifikasikan sebagai pertanyaan pengembangan basis data.
b) Saya pikir pertanyaannya sesuai untuk wawancara DBA tetapi sama sekali tidak masuk akal untuk wawancara pengembang perangkat lunak (berpengalaman atau tidak).
c) Pertanyaan pertama hanya relevan dengan vendor basis data.
d) Pertanyaan kedua tidak adil karena pengembang perangkat lunak biasanya tidak berurusan dengan log kinerja database karena itu adalah pekerjaan DBA.
Mungkin beberapa dari Anda akan berbaik hati untuk mengomentari asumsi saya atau mungkin memiliki saran lain, sebelum saya menulis surat kepada perusahaan.
Jawaban:
Jika saya seorang pewawancara (yang kadang-kadang saya lakukan) dan menerima surat dari seorang kandidat yang mengeluh bahwa pertanyaannya tidak adil dan mereka ingin melakukan pergantian, saya akan berterima kasih kepada bintang keberuntungan saya bahwa kami menghindari peluru itu dan segera memindahkan aplikasi ke tumpukan "tolak". Bertingkah seperti ini hanya menunjukkan Anda sebagai pengeluh, dan tidak memiliki sikap "bisa melakukan" yang dicari.
Sebuah. pertanyaan-pertanyaan itu wajar untuk menanyakan topik pengembangan basis data.
b. Salah. Apa pun yang berkaitan dengan pengembangan perangkat lunak adalah permainan yang wajar untuk ditanyakan. Perlu diingat bahwa mendapatkan jawaban yang salah tidak secara otomatis mendiskualifikasi Anda untuk posisi (atau posisi lain di perusahaan); mungkin hanya membantu untuk mengklasifikasikan Anda sebagai seseorang yang tidak akan paling cocok untuk pekerjaan yang berorientasi database.
c. Salah.
d. Salah. Pertama-tama, mungkin tidak ada DBA khusus; kedua, pengembang perangkat lunak harus menyadari berbagai masalah yang dapat mempengaruhi kinerja (dan akurasi), dan setidaknya memiliki pemahaman tingkat tinggi tentang manajemen basis data.
Ambil ini sebagai pelajaran bahwa ada hal-hal yang belum Anda ketahui. Sekarang Anda tahu apa yang harus dipelajari untuk waktu berikutnya.
sumber
Saya pikir ini adalah pertanyaan yang wajar (dan sepertinya itu yang mungkin ditanyakan Google). :) Inti dari pertanyaan ini BUKAN untuk benar-benar menguji pengetahuan terperinci Anda tentang permintaan basis data dan semacamnya, tetapi lebih untuk melihat bagaimana Anda akan mendekati dan memecahkan masalah. Kemampuan untuk melakukan tugas yang sudah Anda lakukan sebelumnya diperlukan, tetapi kemampuan untuk berpikir sendiri dan mendekati masalah baru adalah keterampilan yang vital.
Ketika dihadapkan dengan pertanyaan seperti itu, jika saya kurang dalam pengetahuan khusus dari database yang diberikan, saya pikir respon yang adil akan dimulai, "Yah, saya tidak punya banyak pengalaman dengan teknologi itu secara spesifik, tetapi dalam secara umum saya akan memeriksa log kinerja untuk menemukan operasi yang paling sering dilakukan dan mencoba untuk memeringkat mereka dengan memproses waktu. Dengan cara itu saya bisa mengukur operasi mana yang paling mahal dan mungkin kandidat yang baik untuk optimasi. "
Anda tidak memerlukan pengetahuan teknis khusus untuk jawaban di atas tetapi itu menunjukkan pewawancara Anda bahwa Anda siap untuk memecahkan masalah baru.
sumber
Jika adil atau tidak adil bukan pertanyaan, mereka menyewa sehingga mereka membuat aturan dan diizinkan untuk bertanya apa pun yang mereka inginkan (ok bukan segalanya, tetapi hampir semuanya;))
Dan jika Anda masih menginginkan pekerjaan itu, saya tidak berpikir Anda akan melakukan kebaikan jika Anda menulisnya.
sumber
Strategi yang sangat umum dalam wawancara kerja adalah dengan mengajukan pertanyaan yang berada di luar level posisi yang diwawancarai dan melihat bagaimana seorang calon terlibat. Dengan pertanyaan yang diajukan, Anda dapat diharapkan untuk menjawab sesuatu seperti:
Atau bahkan:
Secara umum saya berharap kandidat entry level setidaknya memiliki pemahaman dasar tentang cara kerja database dan juga memiliki sikap "Saya tidak tahu tetapi saya akan mencoba dan belajar".
Jika Anda telah melakukan upaya yang jujur dan mereka mengakhiri panggilan telepon segera maka Anda akan memiliki alasan nyata untuk merasa sulit dilakukan, tetapi seperti yang saya katakan Anda harus belajar bagaimana tampil percaya diri sambil mengakui Anda tidak tahu apa-apa.
sumber
Saya kenal pewawancara yang tidak menganggap wawancara lengkap kecuali mereka dapat menemukan beberapa pertanyaan teknis semi-relavan yang tidak dapat dijawab oleh kandidat. Tujuannya adalah untuk melihat bagaimana kandidat menangani jenis pertanyaan itu.
Mengakui bahwa mereka tidak tahu? Baik. Membuat spin / BS untuk sebuah jawaban? Pintu.
sumber
IMO, Pengembang perangkat lunak dan peran DBA tidak dikategorikan dengan baik di banyak perusahaan. Anda biasanya perlu tahu setidaknya beberapa bagian dari Database juga jika Anda adalah seorang pengembang perangkat lunak. Jadi, pertanyaan-pertanyaan tampak adil bagi saya, asalkan tidak ditanyakan lebih segar.
sumber
Saya pikir ini adil. Saya tidak bekerja di vendor database tetapi mengetahui cara membaca rencana kueri (dan log kinerja, pada tingkat lebih rendah) adalah SANGAT penting. Mengetahui cara kerja pengoptimal query juga bagus untuk diketahui.
Menanggapi peluru Anda:
a) Hah? Tentu mereka terkait dengan pengembangan basis data dan jika Anda menulis kode dan program Anda perlu meminta data, maka itu relevan.
b) Tidak juga. DBA sebaiknya mengetahui jawabannya tetapi pengembang yang baik juga harus tahu jawabannya. Saya tidak akan mengharapkan jawaban sedetail dari DBA tapi saya mengharapkan sesuatu. Dan jika pengembang tidak tahu, saya mungkin hanya menerima sebagai asnwer "Saya akan meminta DBA untuk mengajari saya" jika pengembang masih relatif baru dalam pekerjaan basis data.
c) Tidak. Ini relevan bagi siapa saja yang peduli dengan kinerja kueri basis data mereka. Jika Anda tidak peduli seberapa cepat kueri Anda berjalan, maka Anda dapat mengabaikannya. Klien Anda, yang memiliki kinerja yang semakin buruk di situs web mereka, di sisi lain, mungkin tidak setuju.
d) Mungkin. Tidak semua pengembang melihat log kinerja, tetapi jika ada masalah Anda bisa mengharapkan DBA mengirimi Anda email bagian yang relevan dan menjelaskan masalah jika Anda tidak tahu bagaimana menafsirkannya. Paling tidak, seorang pengembang harus dapat melihat rencana permintaan dan melihat masalah dasar (Scan Tabel Lengkap => Buruk, Pindai Indeks Cepat => Bagus).
Karena Anda baru lulus sekolah dan Anda mungkin tidak membahas hal-hal ini di kelas, Anda dapat menjawab dengan mengatakan "Saya akan berbicara dengan dev atau DBA yang lebih senior dan meminta bantuan untuk memahami hal ini". Pewawancara mungkin menerima itu karena itu menunjukkan setidaknya Anda bersedia mempelajari hal-hal baru, karena Anda belum memiliki pengalaman untuk mengetahuinya. Pilihan lainnya adalah pergi dan mempelajarinya sendiri.
Semoga sukses di wawancara selanjutnya!
sumber
Mereka berhak untuk bertanya apa yang mereka inginkan. Anda mungkin tidak membahas topik-topik ini dalam kurikulum perguruan tinggi Anda, tetapi itu tidak berarti orang-orang yang diwawancarai tidak atau memiliki minat yang cukup pada topik untuk melampaui kurikulum. Mereka mencari yang terbaik. Saya harap Anda setidaknya mencoba menjawab pertanyaan dan tidak bersikap defensif. Jika saya adalah mereka dan mendapat surat cengeng dari Anda, Anda akan masuk daftar hitam.
sumber
Pengembangan perangkat lunak adalah profesi multidisiplin. Saya tidak berpikir Anda akan mendapatkan jarak tempuh meminta wawancara dari Anda. "Wajar" dalam konteks ini adalah apakah perusahaan tertentu akan menghilangkan Anda dari pertimbangan hanya atas dasar kurangnya keterampilan DBA Anda. Mengajukan pertanyaan itu sangat masuk akal.
Semakin jauh Anda maju dalam karier, semakin banyak yang perlu Anda ketahui. Jika Anda bertanya-tanya mengapa pengembang perangkat lunak harus peduli dengan optimasi kueri, pertimbangkan desain aplikasi. Proyek-proyek baru sering melibatkan diskusi pemodelan data. Ini akan mengarah pada diskusi normalisasi, yang mengarah pada pekerjaan desain database. Prinsip-prinsip desain yang baik mengalir ke implementasi. Desain yang buruk / tidak efektif di tingkat arsitektur memiliki konsekuensi yang seringkali mahal untuk diperbaiki.
sumber
Konsep "adil" tidak masalah di sini. Ini adalah wawancara kerja.
Mereka tidak dapat menolak Anda berdasarkan warna kulit, agama, etnis, atau beberapa hal lainnya. Tapi mereka dapat menolak Anda untuk setiap alasan lain, sebagai alasan bodoh sebagai warna sepatu Anda memakai untuk wawancara. Dan Anda mungkin tidak pernah tahu alasan sebenarnya.
Penting untuk menjadi tangguh saat wawancara. Saya memahami kecenderungan untuk menganalisis secara berlebihan, dan saya sudah cukup sering melakukannya. Tetapi hal terbaik untuk dilakukan adalah menerima bahwa hidup ini tidak adil, dan simpan wawancara yang cukup di dalam pipa sehingga Anda tidak harus menggantungkan semua harapan Anda pada salah satu dari mereka.
sumber
Seperti yang orang lain katakan, pertanyaannya benar-benar valid. Namun, akan aneh jika pewawancara memutuskan apakah akan mempekerjakan Anda sepenuhnya berdasarkan pertanyaan-pertanyaan itu. Mungkin mereka ingin mendengarkan alasan Anda tentang subjek yang mungkin tidak Anda kenal, dan itu teknik wawancara yang valid.
Jika saya merekrut, saya tidak akan mengesampingkan Anda jika Anda mengatakan "Maaf, saya tidak tahu banyak tentang pengoptimal permintaan, tapi saya bisa belajar". Saya akan mengesampingkan Anda jika Anda mulai mengeluh tentang pertanyaan-pertanyaan itu.
sumber
Bung, izinkan saya memberi tahu Anda dengan jelas: tidak ada jalan lain di sekitar Database sebagai Pengembang Perangkat Lunak. Setiap proyek yang saya libatkan sejauh ini menghabiskan setidaknya setengah dari waktu pengembangan. Desain DB merupakan bagian integral dari Pengembangan Perangkat Lunak dan semakin banyak Anda tahu, semakin baik Anda menyelesaikan masalahnya. Juga, jangan bingung dengan jenis pertanyaan dan itu konteks banyak. Sebagian besar waktu, majikan hanya ingin melihat apakah Anda dapat berpikir untuk menyelesaikan masalah yang dihadapi atau jika Anda memiliki kepercayaan diri untuk setidaknya mengatakan sesuatu yang masuk akal tentang masalah tersebut. Dengan Anda menjadi lulusan, mereka menyadari bahwa mereka sebenarnya harus menghabiskan waktu untuk mengajarkan semua hal ini kepada Anda, tetapi mereka ingin tahu apakah Anda akan sepadan dengan waktu dan upaya. Tetap tajam dan sopan!
sumber
Menurut Anda apa yang akan terjadi jika Anda mengirim surat itu? Apakah Anda membayangkan bahwa mereka akan berkata, "Hmm, kandidat ini ada benarnya. Kita harus mendapatkannya kembali, dan mari kita ajukan pertanyaan yang lebih mudah"? Saya jamin mereka tidak akan melakukannya. Padahal, yang akan mereka lakukan adalah membagikan surat itu dan tertawa.
Atasi rasa memiliki Anda. Anda pergi di dunia nyata.
Bagaimana menurut Anda pertanyaan tentang database tidak adil? Anda berpikir bahwa pemrogram tidak perlu tahu database, tetapi perusahaan ini ternyata melakukannya. Itu sebabnya mereka mengajukan pertanyaan! Pewawancara tidak mengajukan pertanyaan hanya untuk itu. Mereka mengajukan pertanyaan untuk mencari tahu apakah Anda mengetahui hal-hal yang mereka butuhkan. Jika Anda tidak tahu apa yang mereka butuhkan, maka Anda bukan orang yang tepat untuk pekerjaan itu.
Jika Anda tidak ingin belajar tentang basis data, itu bagus, tetapi jangan mengeluh jika beberapa perusahaan tidak ingin mempekerjakan Anda. Anda tidak memiliki pekerjaan.
sumber
Bagaimana ini bukan pertanyaan yang adil? Pengembang bekerja dengan basis data. Jangan Anda pikir mereka setidaknya harus akrab dengan faktor-faktor yang terlibat dalam membuat query database efisien dan cepat? Tidak setiap perusahaan memiliki DBA internal ... dan bahkan jika itu, itu tidak kemudian mengambil tanggung jawab untuk menulis pertanyaan yang efektif dari pengembang.
sumber
Jika mereka mengajukan pertanyaan dari semua kandidat maka mereka sudah adil dan selesai.
Tidak masalah apakah Anda merasa pertanyaan-pertanyaan itu sesuai dengan posisi itu, hanya masalah apakah calon pemberi kerja merasa mereka sesuai - dan jika mereka bertanya maka kemungkinannya memang demikian (baik karena mereka mencerminkan keterampilan yang diperlukan atau karena mereka telah menemukan bahwa tanggapan yang mereka dapatkan memberi tahu mereka hal-hal menarik tentang orang yang diwawancarai).
Terakhir, Anda tampaknya memiliki beberapa ide aneh tentang batas kewenangan pengembang - Saya belum pernah (sejauh yang saya ingat dalam karir 25 tahun hingga saat ini) bekerja dengan DBA khusus ...
sumber
Melihat pertanyaan-pertanyaan itu, saya pikir ini adalah perusahaan saya - kami mengajukan pertanyaan-pertanyaan semacam ini kepada SETIAP kandidat sebagai bagian dari wawancara telepon. Selalu. Ini memberi kita standar untuk bekerja.
Sebagian besar tanggapan di atas merangkumnya dengan cukup baik ...
a) Kami menginginkan orang-orang dengan pengalaman luas bukan orang-orang yang hanya dapat melakukan beberapa hal.
b) Pertanyaan ada di sana untuk membantu kami menyelidiki pengetahuan Anda, Anda mungkin tidak tahu jawabannya sepenuhnya (atau sama sekali) pertanyaan adalah titik awal bagi Anda untuk memperluas pengetahuan dan pengalaman Anda.
c) Ingat wawancara ada untuk keuntungan kita DAN ANDA ... dari jenis pertanyaan Anda harus bisa mendapatkan ide tentang peran dan perusahaan dan apakah kami cocok dengan Anda dan Anda cocok dengan kami ...
d) itu pekerjaan, jika Anda tidak melewati wawancara kemudian tumbuh, berhenti merengek dan mencoba lebih baik di wawancara berikutnya.
sumber
Sepertinya mereka tidak memiliki DBA, jadi mereka ingin Anda mengisi peran itu juga. Ini biasa untuk perusahaan kecil.
sumber
Saya sama sekali tidak melihat ada yang salah dengan itu. Mengapa pengembang tidak boleh, terutama jika mereka akhirnya bekerja di database, tidak mengetahui rahasia barang-barang tersebut?
Haruskah pengembang perangkat lunak tidak mengetahui perangkat lunak pengoptimalan atau cara mengakses log peristiwa aplikasi untuk mengetahui masalah kinerja? Jika demikian, mengapa tidak sama untuk seseorang yang merupakan pengembang basis data? Mengapa mereka tidak bisa menjadi satu dalam satu kesatuan?
Jika saya mewawancarai seseorang untuk posisi pengembangan perangkat lunak yang juga melibatkan pengembangan basis data, Anda benar saya akan memastikan mereka tidak hanya menyadari apa yang mereka lakukan tetapi mereka juga dapat meningkatkan kinerja kode mereka atau kode yang ada sebagai basis data dapat berupa leher botol yang besar.
Alih-alih mengembangkan sikap, mungkin tindakan yang lebih baik adalah "Saya tidak tahu jawabannya tapi inilah yang saya lakukan untuk menemukannya".
sumber
Seperti yang telah ditunjukkan oleh orang lain, dalam sebuah wawancara hampir semua jenis pertanyaan adalah permainan yang adil asalkan tidak menyentuh semacam daerah yang dilindungi secara hukum (misalnya usia, ras, jenis kelamin, dll) dan itu tidak biasa memiliki pewawancara melemparkan pertanyaan pada Anda hanya untuk melihat bagaimana Anda bereaksi terhadap pertanyaan dan bagaimana Anda akan berusaha mencari solusi untuk pertanyaan itu. Selain itu, karena tampaknya Anda adalah lulusan baru, mereka agak terbatas dalam hal dapat bertanya kepada Anda tentang pengalaman kerja Anda dan masalah apa yang telah Anda pecahkan dalam pengaturan produksi. Jadi, jika perusahaan melakukan banyak pekerjaan yang berorientasi pada database, pertanyaan yang mereka ajukan juga mungkin relevan dengan posisi yang Anda wawancarai.
Sehubungan dengan asumsi Anda:
Mungkin tidak. Jika Anda melakukan pengembangan basis data, Anda akan menggunakan pengoptimal permintaan dan merencanakan dari waktu ke waktu untuk mencoba dan memastikan tidak ada masalah yang jelas dengan pertanyaan Anda. Jika perusahaan memiliki administrator atau pakar basis data yang dapat meninjau kueri, mereka mungkin tidak punya waktu untuk melihat semuanya dan mereka juga tidak ingin melihat setiap kueri dengan kode yang buruk. Demikian juga, itu juga tidak biasa bagi pengembang untuk bertanggung jawab untuk menjaga lingkungan pengembangan mereka, untuk memasukkan basis data apa pun dan membuat DBA menangani sisi produksi.
Mereka kemungkinan cocok untuk wawancara DBA; tetapi terlepas dari itu, mereka juga merupakan topik yang harus dipahami oleh pengembang jika hanya pada tingkat mampu mengenali di mana masalah mungkin terjadi dan untuk melakukan pemecahan masalah dasar sendiri. Seperti yang saya sebutkan sebelumnya, jika perusahaan memiliki sumber daya yang terbatas maka mereka ingin memastikan mereka tidak membuang waktu orang dengan sesuatu yang mungkin menjadi masalah mendasar.
Detail spesifik mungkin spesifik untuk vendor, tetapi konsep umum dapat diterapkan di mana saja dan kadang-kadang bisa menunjukkan kepada Anda bahwa hanya konsep umum yang Anda butuhkan. Jika Anda tidak ingin terkunci dalam tumpukan pengembangan tunggal (yaitu LAMP ) maka Anda harus dapat menunjukkan selama wawancara bahwa Anda memahami konsep inti dan merasa nyaman untuk pindah ke tumpukan pengembangan yang berbeda.
Ini umumnya benar, tetapi jika bagian dari pekerjaan Anda adalah menulis perangkat lunak untuk database yang diberikan yang harus sangat responsif maka Anda perlu memastikan bahwa Anda melakukan upaya terbaik dalam menulis pertanyaan-pertanyaan itu sehingga kolega yang ada seorang ahli dalam bidang tertentu tidak sedang dihambat oleh pertanyaan yang ditulis dengan buruk. Meskipun Anda mungkin tidak perlu mengetahui detail yang lebih baik dari apa yang diceritakan oleh log, Anda mungkin harus dapat mengidentifikasi masalah yang jelas.
Semoga semua ini membantu!
sumber
Hanya karena Anda adalah pengembang softare bukan berarti Anda hanya harus tahu topik pengembang perangkat lunak. Memiliki beragam pengetahuan dari manajemen server hingga teknologi basis data sebenarnya merupakan keterampilan yang sangat berguna untuk dimiliki sebagai pengembang. Saya tidak akan memiliki masalah untuk mengajukan pertanyaan semacam ini kepada para kandidat. Jika mereka tidak melakukannya dengan benar, baiklah, itu tidak mencoret mereka dari daftar (saya tidak berharap mereka tahu segalanya), tetapi jika mereka bisa menjawab, itu menunjukkan kepada saya bahwa pengembang lebih dari sekadar hanya programmer set keterampilan yang khas, dan itu adalah jenis langka.
sumber
Saya juga memiliki perselisihan serupa dengan calon majikan yang mengajukan pertanyaan kepada saya tentang penutup lubang got. Saya bertanya kepada Anda, apa kaitannya dengan penutup lubang got dengan pemrograman!
sumber
Tanggapan dari formulir Yah saya tidak yakin tetapi saya akan mencarinya dengan pergi ke, dan juga yang baik. Tidak ada yang mengira Anda tahu segalanya tetapi bisa mencari sesuatu adalah keterampilan utama
sumber