it-swarm-id.com

Apa masalah wawancara papan tulis favorit Anda?

Sama seperti judulnya, apa masalah wawancara papan tulis favorit Anda, dan mengapa itu terbukti efektif untuk Anda?

Junior, senior, Java, C, Javascript, PHP, SQL, pseudo-code, dll.

52
Nicole

Saya meminta kandidat untuk merancang solusi untuk masalah yang sebenarnya saya temui dalam pekerjaan saya sehari-hari. Dengan melakukan itu, saya mencoba membuat dialog antara saya dan kandidat. Saya mencoba berdiskusi tentang desain yang sedang dibangun seolah-olah saya tidak pernah memikirkan masalah sebelumnya.

Apa yang saya coba evaluasi adalah apakah kita dapat saling memahami, dan apakah kita dapat berbicara tentang masalah teknis tanpa kebingungan.

Contoh nyata

(Untuk Java desktop developper)

Rancang API untuk menangani riwayat navigasi browser web (halaman sebelumnya, halaman berikutnya, daftar 10 halaman sebelumnya), dan itu dapat digunakan kembali di banyak bagian aplikasi (di sini saya memberikan contoh nyata di aplikasi kami). Kemudian, buat sketsa implementasi.

Saya suka yang ini, karena cukup sederhana, mudah diilustrasikan, dapat diselesaikan langkah demi langkah (menambahkan perilaku tambahan tanpa merusak segalanya), memungkinkan untuk berbicara tentang kasus Edge dan penanganan kesalahan, dan juga memungkinkan untuk berbicara tentang data struktur.

22
barjak

Saya menemukan ini sangat mencerahkan ketika mewawancarai kandidat dan menyaring mereka yang tidak memiliki bisnis. Ini mirip dalam kompleksitas dengan Fizz Buzz, tetapi berfokus pada keterampilan basis data.

Assuming the following basic  table structure
Documents (DocID, DocDate)
Keywords (KeyWordID, KeyWord)
DocumentKeywords (DocID,KeywordID)

Write a query to return the following:
Part 1: Documents with a DocDate after 4/1/1995  
Part 2: Documents that contain the keyword "Blue"  
Part 3: Documents that contain the either the keyword "Blue" or "Yellow"
Part 4: Documents that contain the both the keywords "Blue" and "Yellow"

Saya membiarkan mereka menulisnya dalam varian SQL yang mereka inginkan, dan saya tidak terlalu pilih-pilih masalah sintaksis kecil. Saya terutama ingin tahu bahwa mereka memahami konsep DB relasional dasar.

Sebagian besar kandidat dapat melewati bagian 3 tanpa masalah sama sekali. Anda akan kagum betapa banyak yang berpikir bahwa jawaban untuk bagian 4 hanya untuk mengubah operator dari OR ke DAN dalam klausa mana.

40
JohnFx

"Gambar untuk saya di papan tulis desain proyek terakhir yang Anda kerjakan, tanpa mengungkapkan detail sensitif apa pun kepada saya."

20
Uberto

Terapkan strcpy, strcmp dan teman-teman.

14
fredoverflow

Favorit saya yang mencakup beberapa disiplin ilmu adalah untuk menghitung jumlah node dalam pohon biner yang diberikan antarmuka (dalam C #):

public interface IBinaryTree<T>
{
    IBinaryTree<T> Left
    {
        get;
    }

    IBinaryTree<T> Right
    {
        get;
    }

    T Data
    {
        get;
    }

    // Other properties and methods not germane to this problem.
}

dan hanya untuk bersenang-senang, inilah implementasinya, meskipun orang yang diwawancara tidak perlu melihat ini.

public sealed class BinaryTree<T> : IBinaryTree<T>
{
    private readonly IBinaryTree<T> left;

    private readonly IBinaryTree<T> right;

    private readonly T data;

    public BinaryTree(
        IBinaryTree<T> left,
        IBinaryTree<T> right,
        T data)
    {
        this.left = left;
        this.right = right;
        this.data = data;
    }

    public IBinaryTree<T> Left
    {
        get
        {
            return this.left;
        }
    }

    public IBinaryTree<T> Right
    {
        get
        {
            return this.right;
        }
    }

    public T Data
    {
        get
        {
            return this.data;
        }
    }

    // Other properties and methods not germane to this problem.
}

dan kelas asisten:

public static class BinaryTreeNodeCounter
{
    public static int CountNodes<T>(this IBinaryTree<T> tree)
    {
        // TODO: What goes here?
    }
}

Solusi yang saya suka lihat adalah ini:

public static class BinaryTreeNodeCounter
{
    public static int CountNodes<T>(this IBinaryTree<T> tree)
    {
        return tree == null
            ? 0
            : 1 + tree.Left.CountNodes() + tree.Right.CountNodes();
    }
}

Karena menunjukkan pengetahuan tentang:

  • bagaimana sebuah pohon (pohon biner khususnya) bekerja
  • definisi rekursif dari pohon biner
  • metode rekursif dan bagaimana kasus dasar menghentikan rekursi
  • apa artinya menghitung satu simpul
  • antarmuka sebagai kontrak
  • (kurang penting) pengetahuan tentang sintaksis C #:
    • obat generik
    • metode penyuluhan
    • operator ternary
14
Jesse C. Slicer

Dua pertanyaan yang telah menimbulkan diskusi papan tulis yang menarik bagi saya adalah

  1. "Tolong bisakah Anda menjelaskan sedetail yang Anda suka bagaimana browser web mendapatkan halaman yang dihasilkan"
  2. "Tolong jelaskan bagaimana Java Hibernate berfungsi"

Mereka memulai dari yang sederhana dan kemudian menjadi semakin kompleks.

12
Gary Rowe

Saya tidak suka menggunakan puzzle atau pertanyaan desain sebagai pertanyaan papan tulis. Saya lebih suka pertanyaan langsung, sederhana, yang menguji kemampuan kandidat untuk menulis beberapa kode. Favorit saya adalah:

1) Tulis fungsi untuk membalikkan daftar yang ditautkan sendiri. (Butuh beberapa saat sebelum mereka menyadari bahwa mereka membutuhkan 3 petunjuk.)

2) Diberikan pohon biner, temukan kedalaman pohon biner. (Pertanyaan ini menguji kemampuan mereka untuk menulis kode rekursif. Biarkan saya memeriksa apakah mereka memiliki kasing yang utuh.)

3) Tulis prosedur untuk mencari biner array bilangan bulat. (Seperti yang dikatakan Jon Bentley (dalam Pemrograman Mutiara), banyak orang cenderung membuat kesalahan dengan menulis pencarian biner. Seseorang kemudian dapat menindaklanjuti dengan menemukan bug, menulis kasus pengujian, menjalankan kode, dll.)

8
pyNem

Kami menggunakan ini di satu perusahaan tempat saya bekerja.

Kami menyerahkan kandidat selembar kertas yang digunakan untuk melacak waktu. Itu adalah kartu absen nyata yang digunakan oleh salah satu atau divisi kami. Kami meminta kandidat untuk memandu kami melalui proses desain untuk membuat alat pelacakan waktu yang lebih baik. Tidak ada batasan, tidak mengatakan bahasa apa dll, hanya ingin melihat seberapa baik kandidat berada di "siklus hidup penuh". Itu memberi kami wawasan nyata tentang bagaimana mereka memenuhi persyaratan. Bagaimana mereka menyusun tabel basis data, seperti apa UI yang mungkin mereka lakukan. Keterampilan komunikasi jelas dibutuhkan untuk tugas ini. Itu biasanya dilakukan di ruangan dengan beberapa papan putih besar dan berlangsung selama 2 jam.

Kami merekrut beberapa orang menggunakan proses ini dan jika mereka melakukan tugas dengan sangat baik, mereka melakukannya dengan sangat baik untuk kami. Jika mereka marjinal dan kami memutuskan untuk tetap mempekerjakan mereka (topik terpisah) mereka adalah programmer marginal.

7
Bill Leeper

Saya menggunakan masalah yang relevan dengan domain pemrograman saya.

Jika saya mengembangkan aplikasi web, saya ingin melihat bagaimana mereka membuat formulir web yang menghapus catatan, dan pendekatan apa yang mungkin mereka ambil untuk menghapus catatan dari database, misalnya. Ini memberitahu saya jika mereka tahu prinsip-prinsip basis data dasar, bagaimana mereka berinteraksi dengan pengguna untuk memverifikasi penghapusan, dan jika mereka tahu apa itu soft delete.

Saya tidak punya favorit. Masalah yang saya pilih akan sangat bervariasi tergantung pada pekerjaan.

Saya tidak peduli apakah mereka dapat menyelesaikan masalah sepenuhnya atau tidak dalam sebuah wawancara, teknologi dan bahasa apa yang mereka gunakan, atau seberapa jelek kode mereka di papan tulis. Saya mencari pola pikir; Saya ingin melihat apakah mereka tahu bagaimana memikirkan dan memecahkan masalah.

6
Robert Harvey

Favorit saya adalah yang digunakan teman saya.

Tuliskan saya fungsi untuk menghasilkan/mencetak/menyimpan bilangan prima "n" pertama dan kemudian menjelaskan cara kerjanya dan seberapa efisiennya.

Ini bekerja dengan baik karena:

  1. Ini adalah pertanyaan algoritmik sehingga diperlukan orang yang diwawancarai untuk dapat berpikir dan kemudian menjelaskan pemikiran mereka - sehingga Anda dapat melihat bagaimana otak mereka bekerja.

  2. Bahasa independen.

  3. Hampir tidak ada orang yang melakukannya dengan benar (biasanya ada kasus Edge yang mereka lewatkan (1 atau 2 normal), atau mereka tidak menangani angka negatif, sehingga Anda bisa melihat bagaimana mereka menangani bug dan diberi tahu bahwa mereka salah.

  4. Sebagian besar melakukannya sebagai saringan sederhana tetapi sangat lambat (mis. 80% orang akan memeriksa n adalah bilangan prima dengan membagi n oleh semua bilangan bulat kurang dari n), yang memberi Anda banyak ruang untuk percakapan tentang bagaimana mereka dapat meningkatkan algoritme berdasarkan pada trade off ruang/waktu misalnya "Kenapa kamu membagi angka dengan 4 jika kamu sudah tahu itu tidak habis dibagi 2?" atau "Anda telah berhasil bahwa Anda hanya perlu membagi dengan semua bilangan prima kurang dari sqrt (n), tetapi itu mengharuskan Anda untuk menyimpan angka-angka itu di suatu tempat, jadi apa implikasinya?")

Tidak perlu bagi mereka untuk mendapatkan jawaban yang benar. Jika seseorang dapat berpikir dan menjelaskan pemikiran mereka maka mereka jauh di jalan untuk menjadi kandidat yang baik.

4
Rhys Gibson

Ini benar-benar tergantung pada apa yang Anda cari, sebagai organisasi yang melakukan banyak pekerjaan web dinamis yang melibatkan gambar, saya cenderung ingin mengajukan pertanyaan geometri yang berkaitan dengan pekerjaan tersebut. Dalam hal apa pun, saya cenderung mengajukan pertanyaan geometri, karena menurut saya tes matematika bagus yang bagus dan visual dan dapat menunjukkan kemampuan kandidat untuk mempresentasikan pekerjaan mereka secara visual dan secara sistematis menyelesaikan masalah.

Untuk kandidat tingkat lanjut, saya sesekali memberikan pertanyaan berikut:

Gambar ini menunjukkan bulan sabit. Lebar bulan sabit dari B ke D adalah 9cm dan antara E dan F, 5cm. C adalah pusat dari lingkaran yang lebih besar.

a) Silakan menghitung luas bulan sabit. Crescent Moon Maths Question

b) Jelaskan perhitungan yang diperlukan untuk mengubah ukuran gambar agar cocok dengan lingkaran dalam dari ukuran tertentu, dan posisikan dalam lingkaran jika titik tengah diketahui.

Untuk pertanyaan yang lebih mudah, saya biasanya memberikan pertanyaan yang sama, tetapi gunakan contoh "kotak di dalam lingkaran di dalam kotak". Meskipun ini sangat mudah, jadi saya berharap aljabar yang sempurna di atasnya.

Square inside a circle inside a square

Lebih dari itu, saya cenderung meminta mereka untuk mengetuk suatu algoritma untuk menghasilkan semua kombinasi dari set data panjang variabel.

3
Orbling

Jawaban terbaik FizzBuzz yang pernah saya lihat adalah:

SQL Server 2008

;WITH mil AS (
 SELECT TOP 100 ROW_NUMBER() OVER ( ORDER BY c.column_id ) [n]
 FROM master.sys.all_columns as c
 CROSS JOIN master.sys.all_columns as c2
)                
 SELECT CASE WHEN n  % 3 = 0 THEN
             CASE WHEN n  % 5 = 0 THEN 'FizzBuzz' ELSE 'Fizz' END
        WHEN n % 5 = 0 THEN 'Buzz'
        ELSE CAST(n AS char(6))
     END + CHAR(13)
 FROM mil

C # (sederhana)

foreach (int number in Enumerable.Range(1, 100))
{
    bool isDivisibleBy3 = (number % 3) == 0;
    bool isDivisibleBy5 = (number % 5) == 0;

    if (isDivisibleBy3)
         Console.Write("Fizz");

    if (isDivisibleBy5)
         Console.Write("Buzz");

    if (!isDivisibleBy3 && !isDivisibleBy5)
         Console.Write(number);

    Console.WriteLine();
}

C # (pintar)

 Enumerable
  .Range(1, 100)
  .Select(i =>
    i % 15 == 0 ? "FizzBuzz" :
    i % 5 == 0 ? "Buzz" :
    i % 3 == 0 ? "Fizz" :
    i.ToString())
  .ToList()
  .ForEach(s => Console.WriteLine(s));
3
Simon Hughes

Sesuatu yang disebut aff_z, yang merupakan bagian dari ujian C sekolah teknik saya dan digunakan sebagai tes "dummy" untuk membuat siswa gagal ketika kembali dari liburan (sistem penilaian kami menyiratkan bahwa gagal tes menghentikan tanda, sehingga gagal bahwa tes boneka akan batalkan seluruh tes Anda. Memaksa Anda memperhatikan detail-detail tolol). Saya menggunakannya kembali sekali atau dua kali selama wawancara.

Ngomong-ngomong ... Aku lupa formulasi yang tepat tapi itu seperti ini ...

Write a function taking a single char parameter named c and returning nothing (void).
You function must satisfy the following requirements:

 - if c is bigger or equal to 0, then print 'z' to standard output
 - if c is stricly smaller than 0 , then print 'z' to standard output
 - in any other case, print the letter 'z' to standard output

Yang menyedihkan adalah bahwa tidak hanya beberapa siswa akan memberikan solusi yang sangat rumit ketika jawabannya cukup jelas, tetapi beberapa bahkan akan gagal.

Dan percaya atau tidak, itu memang terjadi selama wawancara juga.

Menjalankannya dalam wawancara cukup menyenangkan, karena beberapa pelamar akan mulai menulis cabang yang mungkin dan kemudian menyadari apa yang salah (jelas, jika Anda hanya bertanya kepada mereka secara lisan, itu cukup dimengerti bahwa mereka melakukannya saat Anda berbicara ... tetapi jika Anda berikan secara tertulis, saya merasa membingungkan ...)

Itu bodoh, tapi saya kira itu adalah penyaringan minimalis (sama halnya, ketika mempekerjakan programmer JS, saya selalu bertanya bagaimana mendeklarasikan variabel, dan kemudian tergantung pada jawaban mereka apakah menggunakan var atau tidak membuat perbedaan sama sekali. Cukup sering saat yang menyedihkan, secara jujur.)

3
haylem

Saya mencari beberapa hal dalam kandidat yang telah saya wawancarai. Karena alasan yang tidak bisa saya jelaskan secara online, kami mendapatkan kandidat yang sangat buruk, dan saya datang untuk mengharapkannya, jadi saya cukup mudah menggunakannya. Meski begitu, saya mencari:

  • Kesadaran desain.

    "Tunjukkan kepada saya struktur tabel untuk program buku alamat yang memiliki Kontak dengan nama depan dan belakang yang dapat memiliki beberapa Nomor Telepon dengan deskripsi nomor (sel/rumah/kantor/dll.)"

    Saya tidak mencari diagram spec UML 2.0 di sini, diagram bubble sederhana di sini baik-baik saja. Selama itu masuk akal.

  • Pengetahuan bekerja dengan database (mis. SQL)

    1. Tulis kueri untuk mendapatkan semua nomor telepon untuk orang dengan nama belakang "smith"
    2. Tulis kueri untuk mendapatkan semua pelanggan dalam database, dan nomor telepon untuk yang memiliki nama belakang "smith"
  • Pengetahuan tentang pengujian

    Asumsikan metode dengan tanda tangan public IEnumerable<PhoneNumber> GetPhoneNumbers(string lastName) ada yang mengembalikan hasil permintaan Anda dari sebelumnya. Asumsikan bahwa jika Anda memasukkan nol ke dalam metode, ia melempar NullReferenceException. Tulis tes untuk menunjukkan fungsi ini.

    Tulis tes yang menunjukkan bahwa GetPhoneNumbers akan mengembalikan nomor telepon rumah (123) 456-7890 untuk seseorang dengan nama belakang "smith".

  • Pengetahuan tentang cara menulis beberapa kode

    Terapkan metode yang akan memenuhi persyaratan tes yang Anda tulis.


Mengingat jumlah dan kualitas pelamar yang kami dapatkan, saya telah mewawancarai semua orang yang pernah mendaftar dengan serius. Saya tidak mempekerjakan siapa pun.

2
Steven Evers

Tulis algoritme untuk masalah berikut: Diberi angka n, hasilkan jumlah total pohon biner (unik) yang memiliki n node.

Jadi, untuk n= 0 dan n= 1, jawabannya adalah 1. Untuk n= 2, Anda harus 2: simpul root, dan kemudian simpul kedua baik ke kiri atau ke kanan.

Anda dapat memperoleh wawasan tentang teknik desain dan untuk melihat apakah mereka memikirkan rekursi atau memoisasi atau solusi pemrograman dinamis.

[Lihat juga StackOverflow ini diskusi untuk kasus pohon pencarian biner terkait, tetapi berbeda.]

2
Macneil

Jika saya akan mewawancarai pengembang perangkat lunak, saya akan memintanya untuk merancang perangkat lunak dan menjelaskan persyaratan perangkat keras untuk menghapus entri duplikat dari file besar yang sewenang-wenang berisi nama lengkap di setiap baris. Saya meninggalkan beberapa bagian dari deskripsi masalah dengan sengaja. Lalu saya menantangnya untuk melihat apakah dia memahami menganalisis dan mengklarifikasi persyaratan, pertukaran yang berbeda, struktur data dan algoritma, I/O (penyimpanan sekunder), teknologi perangkat lunak dan perangkat keras, skalabilitas, dll.

Saya pikir itu adalah masalah kecil namun menantang, mengungkapkan pengetahuan dan kemampuan pelamar di banyak bidang komputasi.

2

Masalah papan tulis C++ favorit saya adalah memiliki kandidat yang diimplementasikan

Vector3 a(1, 0, 0), b(0, 1, 0); // Mathematical 3D vectors
double c = 7.0;
double d = a * c;
Vector3 e = a * b;

Dari sini saya bisa belajar

  • jika kandidat mengakui bahwa Anda tidak dapat membebani tipe pengembalian (indikasi juniour-level C++)
  • jika kandidat tahu bagaimana mengembalikan operator casting sementara dan mengimplementasikan (indikasi C tingkat menengah ++)
  • jika kandidat dapat melakukan matematika vektor dasar (penting untuk domain aplikasi kami)
2
smithco

Implement function/method(on c/c++/c# whatever), which calculates n-th item of Fibonacci sequence

Banyak pria bisa terjebak dalam hal ini. Jika beberapa solusi diberikan - biasanya menggunakan rekursi. Setelah itu:

Implement the same via 'for'-loop

Tidak dapat memberi tahu Anda, berapa banyak orang yang gagal menyelesaikan kedua tugas - 50% dari kandidat.
Itu sebabnya saya suka :)

2
alexb

Untuk basis data saya menggunakan:

Tabel: Benda 
 
 Nama ID 
 1 Bodkin Van Horn 
 2 Hoos-Foos 
 3 Hoos-Foos 
 4 Hot- Tembakan 
 5 Wajah Balon Marvin O'Gravel 
 6 Snimm 
 7 Wajah Balon Marvin O'Gravel 
 8 Wajah Balon Marvin O'Gravel 
 9 Dave

Tuliskan saya beberapa SQL yang akan menduplikat tabel seperti ini berdasarkan namanya (dan saya tidak peduli ID mana yang saya dapatkan kembali tetapi yang mana yang dikembalikan harus valid untuk nama itu). Jadi tabel setelah SQL yang benar telah diterapkan akan menampilkan sesuatu seperti:

Tabel: Benda 
 
 Nama ID 
 1 Bodkin Van Horn 
 2 Hoos-Foos 
 4 Hot-Shot 
 5 Marvin O 'Wajah Balon Kerikil 
 6 Snimm 
 9 Dave

Saya suka itu karena:

  • De-duplikasi adalah masalah dunia nyata
  • Ada banyak cara untuk melakukannya
  • Saya berpikir bahwa hampir semua cara-cara tersebut membutuhkan Anda untuk memahami (sedikit) SQL yang lebih kompleks (pada dasarnya GROUP BY dan HAVING) atau kemampuan untuk bernalar melalui merantai beberapa pernyataan yang lebih sederhana.
  • Karena bit terakhir ini bahkan jika mereka sedang berjuang dengan sintaks atau apa pun, Anda dapat bertanya kepada mereka apa yang mereka pikirkan dan berbicara seperti itu.
  • Ini referensi Dr. Seuss

(Di sinilah saya menemukan bahwa ada beberapa cara sepele untuk melakukan ini dan saya sudah terlalu rumit selama bertahun-tahun).

2
Jon Hopkins

Saya biasanya membiarkan mereka membuat sketsa diagram blok dari sistem terakhir yang mereka kerjakan, menanyakan tentang hubungan antara blok dan kemudian membiarkan mereka menguraikan blok yang mereka kerjakan/yang bertanggung jawab. Anda dapat belajar banyak dari latihan ini, seperti bagaimana seseorang melihat di luar wilayahnya yang kecil, seberapa penting baginya untuk mengetahui 'di mana' dia bertindak, juga Anda dapat belajar tentang peran yang dia mainkan, apakah itu kunci atau sisi wewenang.

2
Assimiz

Bagaimana Anda mewakili setumpuk kartu 52 standar? Bahasa pemrograman apa pun baik-baik saja. Bagaimana Anda mengocok kartu?

2
MrDatabase

Anda memiliki mangkuk dengan 200 ikan di dalamnya. Dari jumlah ikan ini 99% bukan ikan guppy. Berapa banyak ikan yang harus Anda buang sehingga 2% dari yang tersisa adalah ikan guppy. Tunjukkan pekerjaan Anda.

Ini tentang persyaratan yang membingungkan. Dikatakan cara ini untuk mengubah perspektif beberapa kali selama pertanyaan yang sama. Ini dimaksudkan untuk melihat apakah mereka dapat mengetahui apa yang sebenarnya terjadi.

Anda akan terkejut betapa banyak orang yang salah.

1
dacracot

Satu pertanyaan yang telah saya gunakan sejak digunakan pada saya adalah sebagai berikut:

Tulis fungsi untuk mencetak semua angka antara 1 dan 100.

Sebagian besar alasan mengapa saya menggunakannya adalah karena Anda dapat mengambil solusi dan bergerak ke berbagai arah:

Bagaimana Anda memodifikasi fungsi untuk mencetak semua angka antara 1 dan 1000, 10000, atau n?

Jawaban mereka atas pertanyaan-pertanyaan ini dapat memberi Anda wawasan tentang bagaimana mereka menanggapi perubahan persyaratan serta jika mereka dapat mengenali pertimbangan kinerja. Calon yang kuat mungkin menjawab dengan pertanyaan tentang apa fungsi yang diperlukan untuk seberapa sering akan dipanggil.

Bergerak ke arah yang berbeda:

Bagaimana Anda mengubah sesuatu jika Anda tahu fungsi ini akan dipanggil beberapa kali dalam satu menit dan kinerja menjadi perhatian?

Saya menggunakan ini sebagai cara memeriksa pemikiran lateral mereka. Karena menghitung bilangan prima bisa lambat karena nilai maks bertambah besar, terkadang lebih masuk akal untuk menggunakan semacam tabel pencarian yang dihitung atau dihitung sebelumnya yang disesuaikan berdasarkan masalah yang Anda coba selesaikan.

1
rjzii

Ini salah satu untuk memancing beberapa pemikiran - Ini mudah, melibatkan sedikit matematika, dan memeriksa pengetahuan kandidat tentang desain komputer dasar (overflow, representasi numerik, dll):

Tulis sebuah program (atau prosedur) yang menggunakan sepasang bilangan bulat X, Y sebagai input dan menentukan apakah X * Y dapat dibagi habis secara merata oleh 10. CATATAN PENTING: X dan Y mungkin cukup besar sehingga X * Y meluap dari jenis bilangan bulat terbesar yang tersedia di mesin Anda.



T_BOOL MultipleOfTen(int x, int y)
{
    return((x%2==0 || y%2==0) && (x%5==0 || y%5==0));
}
1
oosterwal

Favorit saya adalah memulai dengan menanyakan prototipe printf. Kemudian diberi printc API level rendah (char c), yang akan mencetak satu karakter, mengimplementasikan printf. Memberikan segala macam tanggapan menarik seperti tumpukan adalah bagian dari CPU. Seperti yang mungkin Anda tebak, saya berasal dari latar belakang C dan tertanam.

1
aufather

Saya punya beberapa favorit, tetapi di sini ada beberapa yang hampir selalu muncul. Sebagian besar waktu saya melakukan wawancara putaran teknis (C++) final sehingga mendukung pertanyaan yang lebih panjang dan lebih terbuka yang mengarah pada bidang minat baru. Tidak ada jawaban yang 'benar', hanya pembukaan untuk percakapan lain.

1) Menerapkan pointer bersama dasar, penjelasan di mana ada kekurangan dibandingkan dengan tr1 atau meningkatkan pointer bersama dalam implementasi mereka, bagaimana itu harus digunakan dll.

2) Tinjauan kode. Untuk karyawan yang berpengalaman, kami berharap mereka dapat dengan yakin meninjau beberapa kode yang disediakan untuk masalah desain, kesalahan, kengerian pengkodean, dan potensi masalah pemeliharaan. Juga, tentu saja, bagaimana mereka memperbaikinya; dan kadang-kadang bagaimana mereka memberikan pesan itu kepada pengembang junior yang mereka tembak.

1
Alaric

Isi metode berikut: PS Mode angka adalah angka (dalam daftar) yang paling sering muncul.

public int getMode(List<Integer> numberList) {


}

Ini untuk melihat efisiensi adalah kode Anda.

0
Buhake Sindi