Saya terus gagal dalam wawancara, saran? [Tutup]

13

Jadi saya punya beberapa perangkat lunak / situs dalam portofolio saya. Mereka menghasilkan uang tetapi tidak banyak.

Jadi saya memutuskan untuk mendapatkan pengalaman kerja, terutama melamar ke posisi pengembangan Java / PHP junior.

Masalahnya adalah saya menjawab semua pertanyaan teknis dengan benar dan kami menjadwalkan untuk melakukan "tes" pengkodean, tahap akhir dari wawancara. Saya tidak pernah bisa santai dan memikirkan hal-hal lain dan akhirnya melakukan tes dengan sangat lambat. ATAU kadang-kadang saya hanya memukul balok dan merasa sangat sulit untuk berpikir pada kaki saya.

Saya tidak mengerti ini karena hal-hal lain yang saya tulis adalah memecahkan masalah yang jauh lebih kompleks sementara "Tes" sebenarnya sangat sederhana seperti menulis dan menguji palindrome.

Di lain waktu, mereka akan memberi saya tes logika dengan aliran ke operasi matematika dan sekali lagi saya tidak akan bisa melakukannya pada waktu yang mereka tetapkan.

Saya tahu saya dapat menulis perangkat lunak / situs web yang dapat dijual yang dapat menghasilkan pendapatan kecil dan menemukan cara untuk menyelesaikan masalah tetapi saya mengalami kesulitan besar dengan tes kode sederhana dalam wawancara.

Ada saran?

joelonjobinterview
sumber
Tampaknya setidaknya Anda berpikir tes wawancara mungkin sederhana, tetapi tampaknya Anda tidak sendirian dalam kesulitan dengan tes thos: infoworld.com/d/application-development/…
Beberapa programmer dude
2
Saya harus tidak setuju dengan tautan ini. Mengingat perbedaan di antara dev yang baik dan yang buruk, Anda benar-benar ingin mengambil risiko memilih beberapa kandidat yang baik daripada mendapatkan yang buruk.
deadalnix
7
@deadalnix Saya tidak setuju dengan ketidaksetujuan Anda. :-) Saya telah melihat cukup banyak programer yang gagal dalam tes dan programer yang buruk lulus tes yang menurut saya pengujian tidak berguna dan seringkali kontraproduktif. IMO, yang mereka lakukan hanyalah membuat pewawancara / SDM merasa senang.
Brian Knoblauch
2
@BJoachim dan semuanya: jika Anda membaca melewati paragraf pertama di tautan itu, sebenarnya saran yang bagus untuk menjaga agar tes tetap relevan dan bermanfaat: tidak dikatakan tes tidak berguna.
MarkJ

Jawaban:

18

Tetap menghadiri wawancara. Anda akhirnya akan menemukan tempat yang akan mengajukan pertanyaan yang lebih sesuai dengan kekuatan Anda. Anda juga akan menjadi lebih baik dan lebih nyaman dengan wawancara, yang hanya bisa membantu. Lihatlah itu sebagai permainan, karena memang itulah yang sebenarnya. Teruslah bermain, dan akhirnya kamu akan menang.

Kevin Hsu
sumber
2
Saya tidak berpikir itu masalah prestasi / isi pertanyaan, hanya kondisi jawaban. Saya berantakan menulis bool isPalindrome(string)karena saya harus menulisnya di atas kertas, dalam batas waktu (15 menit?). Diberikan editor teks dan tidak ada batas waktu saya percaya saya bisa melakukannya dengan sempurna dalam waktu kurang dari satu menit.
SF.
9
@ SF: apakah Anda mencobanya setelah wawancara? Berapa lama waktu yang Anda butuhkan?
kevin cline
2
Juga terus berlatih mengerjakan kelemahan Anda. Dalam hal ini, temukan masalah-masalah kecil yang serupa dan waktu Anda menyelesaikannya di atas kertas. Berlatihlah untuk mendapatkan sesuatu yang bekerja lebih dulu (walaupun itu salah) kemudian beralihlah dengan melakukan yang benar. Dengan begitu Anda dapat menunjukkan proses berpikir Anda sebagai bagian dari wawancara. Tampaknya ini adalah keterampilan terbesar yang tidak Anda miliki (saat ini) dapatkan hasil minimal sekarang, kemudian tingkatkan seiring waktu. Banyak bisnis seperti ini :-)
Al Biglan
Baru saja melihat ini ditautkan dari slashdot; agak terkait: infoworld.com/d/application-development/…
Kevin Hsu
Jika masalahnya adalah Anda tidak dapat memprogram di atas kertas, maka itu adalah masalah nyata menurut saya. "isPalindrome" seharusnya tidak memerlukan panggilan API atau fitur bahasa yang tidak jelas; Anda harus dapat membuat program yang dapat dikompilasi seperti itu tanpa manfaat intellisense atau IDE.
Eoin Carroll
12

Ini sangat umum. Kebanyakan programmer dapat memprogram secara efektif ketika mereka berada di zona nyaman mereka. Misalnya saya hanya dapat bekerja di Ubuntu, dengan vim, jika saya tidak memiliki ruang kerja itu saya tidak akan merasa seperti pemrograman. Saya juga memerlukan , sampai batas tertentu Google untuk penelitian.

Saya yakin Anda telah mengembangkan beberapa zona nyaman untuk pemrograman. Saya akan merekomendasikan, membiasakan diri dengan lingkungan di mana seseorang berada di belakang Anda menunggu kode mereka selesai. Cara terbaik untuk membiasakan diri adalah dengan melanjutkan wawancara.

Anda mungkin berpikir itu tidak berdampak banyak, dan mungkin tidak. Tetapi bagi sebagian dari kita di luar sana, pemrograman dengan musik atau tanpa, menggunakan IDE atau editor teks sederhana, menggunakan kursi kayu atau duduk di sofa, ruangan gelap atau ruangan terang ... membuat perbedaan besar dalam perkembangan kita kecepatan.

Catatan, setelah Anda mendapatkan pekerjaan, Anda biasanya dapat membuat zona nyaman Anda sendiri di ruang kantor yang mereka berikan.

EDIT : Pertanyaan ini mengingatkan saya kepada seorang tenaga penjualan, yang bertanya bagaimana menjadi nyaman dan lebih baik dalam hal menelepon dingin. Jawaban terbaik adalah tetap melakukan panggilan dingin, dan renungkan setiap panggilan. Setelah beberapa saat sales man meningkatkan keterampilan dan kenyamanan mereka. Saya pikir programmer tidak berbeda ketika menghadiri wawancara, setelah semua poin utamanya adalah menjual diri Anda kepada pewawancara

Rick Rhodes
sumber
Siapakah Sopha? Kembar cantik Sophie?
u
@ Rick: sayangnya, sebagai pewawancara, saya tidak bisa hanya mengambil kata seseorang bahwa mereka adalah programmer yang efektif. Saya perlu melihat bahwa mereka benar-benar dapat memprogram. Baik pengalaman yang dilaporkan, atau IPK, atau sertifikasi, atau contoh kode dapat memberi tahu saya hal itu. Saya perlu melihat kandidat melakukan pemrograman.
kevin cline
@kevincline Saya setuju, itu sebabnya saya merekomendasikan dia untuk terus pergi ke wawancara dan merasa nyaman dengan pewawancara seperti Anda.
Rick Rhodes
6

Ini hanya saran saya, mengapa tidak mencoba menjadi pengusaha. Mungkin ada banyak orang yang menghadapi masalah serupa. Jika Anda dapat menulis situs web dengan pendapatan kecil, maka tentu saja Anda dapat menghasilkan banyak dari itu.

pengguna841923
sumber
1
+1, dan semangat wirausaha dapat dilihat sebagai kualitas yang sangat positif.
maple_shaft
5

Anda telah mengidentifikasi apa masalah Anda - memecahkan masalah di bawah tekanan (misalnya ketika seseorang mengawasi Anda). Apakah karena Anda kurang percaya diri atau Anda tidak memiliki cukup pengalaman atau Anda merasa tertekan?

Pergi ke banyak wawancara untuk mendapatkan pengalaman dan latihan bisa menjadi ide yang baik tetapi juga dapat menghasilkan efek samping. Kegagalan yang terus-menerus dalam wawancara dapat membuat kepercayaan diri Anda semakin goyah, jadi berhati-hatilah.

Saya menyarankan Anda untuk mencoba pemrograman sebaya sehingga Anda bisa merasa nyaman untuk menyelesaikan masalah ketika seseorang memperhatikan Anda. Juga, cobalah mencari tahu apa yang menghentikan Anda dari menjadi efektif di bawah tekanan (apakah stres akibat pengujian yang sebenarnya itu sendiri, stres karena bekerja di bawah pengawasan ketat, stres karena bekerja di bawah batas waktu tertentu, dll.).

Christian P
sumber
1
Anda juga harus mencari beberapa jenis pertanyaan pengujian ini di Google. Cetak mereka seperti yang Anda dapatkan dalam wawancara dan selesaikan. Duduk di meja, bukan komputer Anda. Anda perlu mencoba dan menciptakan kembali tekanan wawancara.
Bill Leeper
3

Sepertinya Anda tersedak di bawah tekanan. Karena Anda harus melakukan contoh waktunya sebagai bagian dari proses wawancara, Anda harus belajar bagaimana cara melewati ini. Ini semua tentang mengelola rasa takut, bukan tentang keterampilan pemrograman.

Salah satu pilihan adalah berlatih menulis soal sampel dan mengatur waktu sendiri. Setelah Anda tahu bahwa Anda dapat melakukannya dalam waktu kurang dari sepuluh menit, Anda mungkin takut waktunya kurang.

Pilihan lain adalah membuat teknik untuk menenangkan rasa takut Anda, dan menggunakannya untuk melepaskan diri. Mempelajari teknik meditasi dapat membantu Anda. Atau menghafal litani melawan rasa takut (dari Dune .) Pelajari semacam trik untuk mencatat respons rasa takut Anda.

Sean McMillan
sumber
3

Saya cukup terkejut bahwa belum ada yang menanyakan hal ini, tetapi bagaimana Anda mendekati tugas pemrograman ?

Jika Anda hanya melompat ke kode, maka kemungkinan Anda akan tersesat dan akhirnya membuat kesalahan sederhana dan membuat diri Anda bingung. Lakukan satu langkah pada satu waktu:

  1. Kumpulkan persyaratan : Tepatnya, apa yang diminta pewawancara Anda. Pastikan bahwa ada nol pertanyaan di udara sebelum coding. Misalnya, jika dihadapkan dengan pertanyaan "isPalindrome" tua, tanyakan hal-hal seperti "bagaimana jika string memiliki karakter khusus?" atau "apakah string panjang ganjil seperti 'ada' dihitung sebagai palindrom?". Anda perlu tahu cara mengklarifikasi persyaratan sebelum merancang suatu algoritma.
  2. Rancang algoritme Anda : Bagi menjadi bagian logis jika masuk akal. Bicara tentang itu .. Mungkin menulis beberapa kode sandi jika Anda menulis di papan tulis. Arahkan pewawancara Anda melalui langkah-langkah Anda. Coba jalankan dengan beberapa input berbeda (baik valid dan tidak valid) untuk memastikan Anda mendapatkan hasil yang diinginkan.
  3. Sekarang mulai coding : Pada titik ini, Anda harus sangat percaya diri dengan apa yang akan Anda tulis. Pada dasarnya, Anda harus melalui gerakan dengan bahasa apa pun yang Anda kenal. Pada titik ini, tidak masalah jika ada kesalahan sintaksis karena pewawancara yang bernilai sepeser pun akan memaafkan mereka yang berada di sesi papan tulis (jika Anda diberi PC / IDE untuk menyelesaikan masalah, itu cerita yang berbeda).

Sungguh, ketika menangani masalah pengkodean, pewawancara tidak mencari banyak kode yang bagus .. Ini lebih untuk melihat bagaimana Anda menangani masalah yang diberikan. Menyelam langsung ke kode adalah hal yang buruk, titik.

Anda juga akan menemukan bahwa ketika Anda berbicara tentang masalah (pengumpulan persyaratan dan desain), Anda akan merasa sedikit lebih nyaman dan kecil kemungkinannya melakukan kesalahan konyol selama bagian pengkodean.

Demian Brecht
sumber
3

Project Euler

Sepertinya saya bahwa Anda gagal dalam tes fizzbuz . Pikiran mematikan algoritma sederhana yang umumnya tidak melayani tujuan praktis apa pun kecuali untuk mengidentifikasi jika Anda memahami konsep inti pemrograman.

Memoles dasar-dasar Anda

Apa yang saya sarankan adalah Anda memoles dasar-dasar Anda.

http://projecteuler.net/

Mendaftar dan mulai berlatih, Anda akan menemukan bahwa dengan melihat contoh-contoh itu Anda akan mendapatkan pemahaman yang lebih dalam tentang konsep pemrograman inti. Saya pikir Anda akan menemukan pertanyaan palindrome di sana bersama dengan urutan fibonacci dan konsep matematika lainnya (terdengar asing).

Justin Shield
sumber
2

Mintalah umpan balik pada atau setelah wawancara. Apa yang mereka sukai? Apa yang tidak mereka sukai? Anda mungkin terkejut dengan jawabannya.

Orang yang berbeda mencari hal yang berbeda, tentu saja, tetapi bagaimana Anda mencoba menyelesaikan masalah biasanya lebih penting daripada menulis solusi yang 100% benar. Anda mungkin mengkhawatirkan semua hal yang salah.

Cara terbaik untuk menjadi lebih baik dalam segala hal adalah berlatih. Cobalah menuliskan daftar masalah pendek. Kemudian, untuk setiap item dalam daftar, tulislah sebuah program kecil yang menyelesaikan masalah. Mulailah dengan masalah yang sangat mudah, seperti FizzBuzz , dan ratchet kesulitan saat Anda pergi. Bisakah Anda memecahkan masalah yang Anda lihat dalam wawancara sebelumnya? Temukan substring terbesar yang memiliki dua string yang sama? Hitung faktorisasi utama n !?

Idenya bukan untuk mempelajari solusi untuk setiap masalah yang mungkin Anda temui, tetapi untuk memberi diri Anda latihan menulis program kecil dengan cepat, dan juga untuk mencari tahu di mana titik-titik lemah Anda sehingga Anda dapat meningkatkan. Banyak masalah yang mudah diselesaikan dengan struktur data yang tepat, tetapi sulit sebaliknya, jadi pastikan Anda memiliki fondasi yang kuat dalam struktur data.

Caleb
sumber
2

Berlatih dan temukan seseorang untuk membantu membimbing Anda melalui dasar-dasar cara melewatinya. Mungkin diperlukan beberapa percobaan tetapi bisa mengejutkan apa yang akan terungkap jika Anda bisa mendapatkan umpan balik dan berlatih untuk ini. Saya meminta seorang perekrut menuntun saya bagaimana menangani masalah papan tulis yang tampaknya mirip dengan masalah Anda di sini.

Saya tidak menyarankan menghafal jawaban sebanyak memiliki cetak biru tentang apa yang harus dilakukan ketika diberi masalah seperti itu dan bagaimana membicarakannya. Ini kelihatannya seperti apa? Pernahkah Anda melihat masalah serupa? Apa yang bisa dihasilkan oleh beberapa pendekatan sederhana dalam hal algoritma? Setidaknya itu saran saya untuk Anda.

JB King
sumber
2

Sangat umum bagi pengembang perangkat lunak untuk gagal ketika diminta untuk duduk tes koding atau menulis sepotong kecil kode pada wawancara. Seperti yang telah disebutkan oleh seseorang, itu karena sebagian besar dari kita hanya dapat kode ketika kita berada di "zona nyaman" kita dan duduk di sebuah ruangan kecil, dikelilingi oleh 2-5 pewawancara tidak benar-benar menambah banyak kenyamanan.

Jawabannya ada tiga:

  • berlatih, dan lebih banyak berlatih. cobalah selama sebulan melakukan pemrograman 30-40 menit dengan kertas dan pena dan Anda akan terkejut betapa mudahnya jadinya. Saat berlatih - cobalah jenis-jenis tugas pemrograman yang Anda harapkan akan ditanyakan pada sesi coding wawancara - misalnya menerapkan singleton, membalikkan string, dll. Bahkan lebih mudah dengan "membaca sepotong kode sampah dan menemukan apa yang salah "- coba cetak dan mereka menganalisis cetakan ini selama dua minggu dan Anda akan sangat meningkatkan keterampilan itu.

  • belajar bagaimana mengendalikan rasa takut Anda. jika Anda berpikir bahwa tes ini terlalu sulit dan Anda hanya dapat menyelesaikan 20% - lakukan 20%, jangan khawatir tentang sisanya. Bisa jadi tes ini terlalu besar untuk waktu yang diberikan untuk melakukannya (misalnya orang-orang dalam wawancara seharusnya memberi Anda 20 menit untuk menyelesaikannya tetapi mereka perlu menyelesaikan wawancara dalam 5 menit karena beberapa produksi meledak, dll) . Mungkin juga bahwa kandidat lain hanya berhasil menyelesaikan tes 10%, jadi dengan menyelesaikan 20% Anda masih akan unggul dari kandidat lainnya.

  • Saat menulis kode saat wawancara - jangan repot-repot membuatnya sempurna di bagian pertama. cukup terapkan "jalan bahagia alias skenario paling umum pertama" dan susah-susah menangani kesalahan nanti. jika Anda kehabisan waktu - cukup tambahkan catatan cepat di bagian bawah lembar yang menguraikan - apa yang akan Anda lakukan untuk meningkatkan kode jika Anda punya lebih banyak waktu.

[harus dijalankan, akan mengedit / meningkatkan jawaban saya nanti]


sumber
1

Seperti yang sudah dikatakan banyak orang, saya berlatih adalah salah satu hal terpenting. Jika Anda telah melakukan masalah serupa, Anda akan dapat menemukan solusinya dengan cepat.

Jika Anda kesulitan menemukan masalah untuk mencoba dan menyelesaikannya sendiri, coba gunakan pencarian Google untuk pertanyaan wawancara pemrograman untuk bahasa atau pilihan Anda.

Anda juga dapat mengambil buku yang dirancang untuk mengajar kursus CS tingkat rendah. Sebagian besar buku-buku ini diisi dengan tugas pemrograman yang kecil dan dapat dilakukan dengan cepat di rumah. Mereka dapat digunakan untuk latihan.

gnash117
sumber
0

Saya juga sangat buruk dalam ujian dan selalu begitu. Saya tidak bisa seumur hidup saya mencari tahu mengapa kelas pemrograman diberi saya tes untuk mengambil dengan pensil dan kertas. Saya tidak pernah pandai dalam hal itu. Namun, apa yang saya lakukan adalah menjelaskan kepada pewawancara bahwa saya memiliki masalah ini dan tahu tentang itu. Saya juga berhasil mewawancarai perusahaan yang tidak memberi saya tes konyol.

Saran saya adalah untuk memberi tahu perusahaan sebelum Anda pergi ke wawancara bahwa Anda tidak melakukan kehendak dengan tes semacam itu, namun Anda senang untuk X sebagai gantinya. (Cari tahu alternatif yang masuk akal dan Anda merasa nyaman melakukannya.) Untuk diri saya sendiri, saya menawarkan untuk mengirimi mereka kode, dan suatu kali saya menyarankan agar mereka memberi saya program sederhana untuk menulis, dan saya akan membawanya ke wawancara dalam waktu 3 hari.

Tergantung di mana Anda mencari pekerjaan, ini mungkin atau mungkin tidak cocok untuk Anda.

Bob
sumber