Happiness Only Real When SHARED

Job Hunting Preparation Part 3 (Technical Test)

Posted in Job by adisembiring on September 2, 2011

Technical Test

Jenis teknikal test ada beberapa macam, tergantung perusahaan:

  1. Paper test, Kamu diberikan kertas yang berisi test teknikal. Biasanya mengenai algoritma, software design, database, dll.
  2. Live coding, kamu disediakan satu laptop, IDE, dan studi kasus. Kamu harus menyelesaikan studikasus tersebut dengan coding di laptop menggunakan IDE yang sudah di sediakan. Biasaya yang dilihat bukan sekedar studikasus tersebut selesai dikerjakan, namun yang arsitektur dan clean code
  3. Technical Interview, tanya jawab antara kamu dengan interviewer, terkadang kamu presentasi didepan, lalu kamu dan interview melakukan tanya jawab. Interviewer juga menanyakan hal-hal dasar sampai ke hal kompleks mengenai software development.

Tiga bentuk teknikal test ini yang akan kamu temui saat melamar kerja, terkadang ada perusahaan yang hanya memberikan technical test, kadang ada technical test dan live coding, terkadang ada ketiga-tiga jenis technical test diatas.

Model Test

Yang biasa ditanyakan saat technical test:

Discrete Math

  1. Konversi bilangan decimal – hexa desimal – binary
  2. Penjumlahan, pengurangan bilangan binari
  3. Tabel Kebenaran True| False -> AND, OR, XOR

Algoritma

  1. Bilangan prima, tahun kabisat, faktorial, fibonaci, palindrome
  2. Loop, print shape {triangle, rectangle, diamond} with stars (*)
  3. Deret, buat program untuk menggenerate date seperti ini -> (2, 4, 5, 6)
  4. Sorting {bubble, insertion, selection, quick sort}, Searching {Binary search}
  5. Struktur Data {Stack, Queue, Tree}

Object Oriented

  1. Class, method, attribute, constructor, object
  2. Encapsulation, object not data
  3. Polymorphism (Overloading, overriding)
  4. Inheritance
  5. Abstract dan Interface, kenapa harus dibikin abstract, kenapa harus dibikin interface. Kapan harus menggunakan abstract dan interface.
  6. Single responsibilities
  7. Command and Queries

Screeencast menarik mengenai Object Oriented bisa di liat di sini, summary bisa diliat di sini

Software Design

Diberikan satu kasus, lalu kamu merancang class ataupun arsitektur software berdasarkan studikasus tersebut. Biasanya diimplementasikan dengan class diagram, sequence diagram.  Model kasusnya kira2 seperti ini:

Kamu disuruh merancang system untuk traffic lamp controller, traffic lamp biasanya memiliki 3 jenis lampu.

  1. Lampu merah di beli dari vendor A. Untuk menghidupkan lampu merah menggunakan method turnOn(), untuk mematikan lampu merah digunakan method turnOff().
  2. Lampu kuning di beli dari vendor B, untuk menghidupkan lampu kuning dengan cara meng invoke method switch(true), untuk mematikan lampu kuning dengan menginvoke method switch(off).
  3. Kamu harus mengimplementasikan lampu hijau, dan satu buah component untuk mengontrol lampu-lampu tersebut sesuai dengan perputaran nyala lampu tesebut (lampu merah -> lampu kuning -> lampu hijau -> lampu merah … )
  4. Disini kamu harus merancang component yang loosely couple dan flexible

Referensi untuk melatih software design adalah Buku Head First Design Pattern dan Code Kata

Database

  1. Apa itu database
  2. Jenis database
  3. Data Definition Language (Create, alter, table)
  4. Query, Aggregate query, Join (Inner, Left, Right)
  5. Transaction, Index
  6. ERD

Software Testing

  1. Membuat acceptance Test
  2. Beda QA, QC, Tester
  3. Unit Test

Pengetahuan Umum

Pengetahuan umum ini biasanya hanya dasar-dasar saja. Tapi banyak orang yang lupa

  1. Beda Thread dan Proses
  2. Jenis HTTP Method dan kegunaanya
  3. Beda TCP dan UDP
  4. Software License

Additional references

  1. Programming Interviews Exposed: Secrets to Landing Your Next Job
  2. JavaEE Job Interview Companion
  3. Cracking programming interview
  4. careercup
Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.