I applied online after finishing my undergraduate degree. They did not reply for more than a month, so I asked my friend to refer me, and then things moved quickly. I was contacted directly by the hiring manager.
I took IBM's IQ test and then decided on a date for a phone interview with the hiring manager. In the phone interview, I was asked bit manipulation questions, to reverse a singly linked list, and anagram questions. It was about a 45-minute interview with all technical questions. I knew all the questions and had practiced them beforehand, so I did pretty well.
During the phone interview, I was told that I was selected for an on-site interview. I chose to have the on-site interview on the Monday of the following week. I had about 3 days to prepare. I did not choose to wait longer because I did not have a job at the time.
It was a 5.5-hour on-site interview, which included 4 interviews and 1 lunch interview. The lunch interview was not counted in the selection process. There were 3 technical interviews and 1 manager interview, each lasting one hour. In the manager interview, I was asked behavioral questions and other standard, easy HR questions. The job was related to compilers, so they asked me a lot of low-level questions, including how to reduce cache contention in matrix multiplication, and so on. Some of the coding questions were:
sizeof(unsigned int) bytes), otherwise returns false.If you are applying to the compiler department, be sure to prepare bit manipulation questions and know some basic things about compilers like parsing, linking, how compiled languages differ from interpreted ones, how a 32-bit compiled program differs from a 64-bit one, and other basic stuff.
Reduce cache contention on the given code. The code was a multiple multiplication algorithm. I did not have the slightest clue of how to do that.
The following metrics were computed from 42 interview experiences for the IBM Software Developer role in Markham, Canada.
IBM's interview process for their Software Developer roles in Markham, Canada is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for IBM's Software Developer interview process in Markham, Canada.