Software Developer Interview Questions in Montreal, QC | Glassdoor

Software Developer Interview Questions in Montreal, QC, Canada

"Software developers design, write, test, and maintain the code for a software system. Extensive knowledge of programming languages, data structures, and algorithms are necessary to pass the technical interview which is designed to test these skills. Employers are looking for candidates with a bachelor's degree in computer science or related field or equivalent work experience. "

Top Interview Questions

Sort: RelevancePopular Date

Write a Java program that takes a 2D bitmap (represented as a 1D array of integers), and reverses it about its vertical axis.

4 Answers

I asked the interviewer whether I'm also provided with a width, so that I know how to interpret the data in the 1D bitmap, and he said yes. From a high level, you need a doubly nested for loop: the outer one iterates over the rows, and the inner one iterates over the elements, reversing them as you go along.

function flip(array) { if(array.length === 0) { return []; } var done = false; var pos = 0; var result = []; while(!done) { done = true; result[pos] = 0; for(var i = 0; i >> 1; if(array[i] > 0) done = false; } pos += 1; } return result; }

In Python: array1d = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] #------------------------------------------------- def flipV(arr, width): rows = len(arr)//width for i in range(rows): # [0..rows) start = i * width # index of first element in row end = start + width - 1 # index of last element in row while start < end: arr[start],arr[end] = arr[end],arr[start] start += 1 end -= 1 #------------------------------------------------- def print2D(arr, width): rows = len(arr)//width for i in range(rows): # [0..rows) rowStart = i * width # start of row(i) for j in range(width): # [0..width) print(arr[rowStart + j], " ", end='') print() print(array1d) # original print2D(array1d, 4) flipV(array1d, 4) print(array1d) # flipped print2D(array1d, 4)

Reverse a singly linked-list with and without using an auxiliary data structure.

2 Answers

What is your salary range?

2 Answers

Favorite programming language?

1 Answer

reverse linked list algorithm, tree , OOP concepts and sql query and performance

1 Answer

NDA, sorry.

1 Answer

Why did you choose a carrier in IT?

1 Answer

Take home programming test was a most difficult interview question?

1 Answer

This kind of test doesn't imply any 1-1 interview, nor technical verbose definition, nor any multiple choices, but is rather mainly an online simulation test aimed on your understanding of automated testing. That's what the test is mainly about. The idea is being able to generate 50 successful tokens in a row through username&password login. So in order to get a successful token, you'll first be asked to find a way to generate proper username and password combination to login. A hint... the username and password are the same and are mainly composed of four identical numbers series... At least the combo worked in my case... The next catch is to override a maximum of 10 tries. When you'll reach the 10th you'll probably hit a message saying you've been detected as a bot! A way to override this issue by clearing the cache at 9 and also restarting same session with different fake Selenium drivers and proxies. As proof of success, I also added a line of code enabling to take a print screen jpeg image of each successful token and save it on temp directory, just to make sure. So that was it.

1 Answer

I was asked some questions about C/C++ memory management on mobile devices. Also, questions regarding Java class usage on J2ME devices, where using many classes could be very costly performance-wise on low-end Nokia devices. While not necessary for a manager to know this, it might have helped my chances getting the job.

1 Answer