Applied online, then got invited to a technical interview on Zoom.
Asked about CV and experience, then a lot of screen sharing my coding IDE and working through various questions.
2 Stages: Technical interview, then interview with hiring manager
LeetCode Style questions and screen share coding: 1: Write a function solution that, given a string S of length N, returns any palindrome which can be obtained by replacing all of the question marks in S with lowercase letters ('a'-'z'). If no palindrome can be obtained, the function should return -1.
2: Write a function solution that, given an array of positive integers A of length N, returns the sum of all numbers in the array where the first digit is equal to the last digit. For example, if A = [121, 34, 787, 22, 11], the function should return 132 because 121, 11 have matching first and last digits. The function should return 0 if no such numbers exist. If there are more than two numbers with matching first and last digits you should choose the two largest numbers to work with.
3: Explain and show us a code example of polymorphism, then extend this to show it works at runtime with dependency injection
4: Explain how multithreading works, write a coding example of it being used and how can we benchmark it, checking how many times a function has been called by a thread etc (Might've been multiprocessing but I forget)
The following metrics were computed from 2 interview experiences for the Citigroup Senior Software Engineer role in Belfast, United Kingdom.
Citigroup's interview process for their Senior Software Engineer roles in Belfast, United Kingdom is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Citigroup's Senior Software Engineer interview process in Belfast, United Kingdom.