Alkira
1 questions · 1p3a (1)
Alkira Software Engineering Networking Role Interview Experience (2024)
Question Details
Role Requirements: Strong proficiency in C, networking, and systems fundamentals. Round 1: Coding Assessment (2 Hours) * Format: Timer-based coding problems where each problem auto-submitted upon time expiry. * Constraint: All solutions, including DSA problems, had to be written in C. * Evaluation: An AI interviewed the candidate regarding the best-scoring solution, requiring an explanation of the code and answering follow-up questions. Round 2: VP Round (1 Hour) * Focus on cultural fit, company vision, and role alignment. Round 3: Technical Round – Chief Architect (20 Minutes) * Focus: High-level architectural discussion regarding feature designs from previous experience, emphasizing tradeoffs and reasoning. Round 4: Technical Round – Hiring Manager (1 Hour) * Coding: 1. Remove duplicates from a sorted linked list. 2. Follow-up: Delete all occurrences of elements that repeat (remove all duplicates entirely). * Threading & Mutexes: * Problem: Two functions incrementing and decrementing a shared variable 1,000 times. * Discussion: Explanation of race conditions, expected output without locks, and deep dive into threading and memory management. * Bit Manipulation: 1. Check if a number is a power of 2. 2. Count set bits for a given number. Round 5: Technical Round – Distinguished Engineer (1.5 Hours) * Threading & Debugging: * Debugged C code to explain why count++ is not atomic. * Identified and resolved a deadlock scenario. * Discussion on Compare-and-Swap (CAS), memory ordering, and compiler flags. * Systems: Brief exploration of VPP/DPDK concepts. * Coding: Designed and implemented a fully functional lockless circular queue using a buffer and atomic head/tail indices. Outcome: Successfully cleared all technical evaluations. However, the application was placed on a waitlist due to a lack of specific DPDK experience, despite possessing a networking background.