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?
Jawaban:
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.
sumber
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.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
sumber
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.
sumber
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.).
sumber
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.
sumber
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:
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.
sumber
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).
sumber
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.
sumber
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.
sumber
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
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.
sumber
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.
sumber