Apply directly on the website.
Online assessment on Codility, then a 45-minute technical phone screen on Zoom.
OA:
If 2 consecutive characters are the same, shrink the string until you can't anymore. Output the final result. "ABBCDDC" -> "ABBCC" -> "ABB" -> "A" "AABBAA" -> "AAAA" -> "AA" -> ""
Construct an n-ary tree given a list of parents/values and k. Find the max k-length path sum of the tree.
Phone Screen:
Describe a recent interesting bug that you have resolved.
What's the purpose of the 'yield' keyword?
How does a hash table work?
What happens in a lookup/insert operation when hashes of 2 different keys are the same?
What's the time complexity of hash table operations (lookup/delete/insert)?
When does a hash table upsize/downsize? Runtime complexity?
How does computer memory work?
How does the OS allocate memory to each process?
Virtual memory vs. physical memory?
What happens when virtual memory exceeds physical memory?
Stack vs. heap. What is stored in which?
How does the GIL work? What are the advantages vs. disadvantages of the GIL?
The following metrics were computed from 1 interview experience for the Hudson River Trading Python Developer role in Canada.
Hudson River Trading's interview process for their Python Developer roles in Canada is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Hudson River Trading's Python Developer interview process in Canada.