I applied with this online technical test with multiple choices and 4 coding questions. Second round was an interview about technical concept and understanding. Heard the third is the actual coding interview but I didn’t get there.
Interview questions [1]
Question 1
Diff layer Protocols questions (UDP, TCP), understanding of C language.
I applied online. The process took 2 months. I interviewed at Fortinet (Burnaby, BC) in Dec 2021
Interview
I applied via LinkedIn and was contacted by a recruiter after approximately one week. The recruiter sent me a 2 hour HackerRank test along with a couple hints about what I could expect on it. After completing the test I was scheduled for a 3 hour technical interview with a team.
Interview questions [1]
Question 1
HackerRank: 10 multiple choice questions about software concepts, the C language and some brain teasers. You should be practiced in coding common C data structures as 4 coding questions follow.
The recruiter gave me a document to prepare for the 3 hour technical interview. Be able to explain every single bullet point in the document in detail.
I applied online. I interviewed at Fortinet (Vancouver, BC) in Sep 2021
Interview
Passed the OA, forgot the details about the OA but it was easy. Easier than any OA I've ever been through. (But other teams from Fortinet have much much more difficult OAs). Then the first round online hacker ranck interview. 3 hours, interviewed by the team members. There were 3 coding questions and some verbal answer technical questions. I didn't do well in the coding, they shortlisted me. C was the only allowed language in coding part.
Interview questions [1]
Question 1
Coding: Leetcode 1290, 1779, 239. For 1779 and 239 they would push you to code in the dumb way first if you can't think of an optimized way. But they won't give you time to code the optimized way even if you got the idea.
Short answers: 1.Difference between thread and process. 2. Suppose you have a static variable declared out side any functions in a C program, will the address be the same if it's declared in some function. 3. Will the address of a static variable always be the same between different runs of this program (no recompilation in between). 4. What's the difference between a real-time OS and a general purpose OS.