1p3a Experience · Apr 2026

Ivanti Staff Software Engineer Interview Experience

SWE Staff Easy

Interview Experience

Hello, I recently had an interview at Ivanti for Staff Software Engineer on .Net, went through three rounds of interview, and here are the interview questions in case it helps others. Even after c

Full Details

Hello, I recently had an interview at Ivanti for Staff Software Engineer on .Net, went through three rounds of interview, and here are the interview questions in case it helps others. Even after clearing all rounds I was told they decided to go with someone else. Round 1: Basic .Net questions, then asked to review the following block of code on order processing: public class OrderProcessor { private readonly IOrderRepository _orderRepository; private readonly IPaymentGateway _paymentGateway; private readonly IInventoryService _inventoryService; private readonly IEmailService _emailService; public OrderProcessor(IOrderRepository orderRepository, IPaymentGateway paymentGateway, IInventoryService inventoryService, IEmailService emailService) { _orderRepository = orderRepository; _paymentGateway = paymentGateway; _inventoryService = inventoryService; _emailService = emailService; } public async Task<bool> ProcessOrderAsync(Order order) { if (await _inventoryService.CheckAvailabilityAsync(order.Items)) { var paymentResult = await _paymentGateway.ProcessPaymentAsync(order.TotalAmount, order.PaymentDetails); if (paymentResult.IsSuccessful) { _orderRepository.SaveOrderAsync(order); _inventoryService.UpdateInventoryAsync(order.Items); _emailService.SendOrderConfirmationAsync(order); return true; } } return false; } } Then asked to explain how I would write a program for the following: /* Given a string s which represents an expression, evaluate this expression and return its value. The integer division should truncate toward zero. You may assume that the given expression is always valid. All intermediate results will be in the range of [-2^31, 2^31 - 1]. Note: You are not allowed to use any built-in function which evaluates strings as mathematical expressions, such as eval(). Example 1: Input: s = "6/3+2*2" Output: 7 Example 2: Input: s = " 3/2 " Output: 1 Example 3: Input: s = " 3+5 / 2 " Output: 5 Constraints: - s consists of integers and operators ('+', '-', '*', '/') separated by some number of spaces. - s represents a valid expression. - All the integers in the expression are non-negative integers in the range [0, 2^31 - 1]. - The answer and any intermediate results are guaranteed to fit in a 32-bit integer. */ Round 2: Entirely coding round, asked to write the program for the following question and then run it with given samples. Create a least recently used(LRU) cache and then test it against the following: private static void TestCache() { LRUCache lRUCache = new LRUCache(4); lRUCache.put(1, 1); // cache is {1=1} lRUCache.Display(); lRUCache.put(2, 2); // cache is {1=1, 2=2} lRUCache.Display(); lRUCache.put(3, 3); // LRU key was 2, evicts key 2, cache is {1=1, 3=3} lRUCache.Display(); lRUCache.put(4, 4); // LRU key was 1, evicts key 1, cache is {4=4, 3=3} lRUCache.Display(); Console.WriteLine("Getting 2:" + lRUCache.get(2)); // return 1 Console.WriteLine("Getting 3: " + lRUCache.get(3)); // returns -1 (not found) Console.WriteLine("Getting 4: " + lRUCache.get(4)); // return -1 (not found) Console.WriteLine("Getting 1: " + lRUCache.get(1)); // return 3 lRUCache.put(5, 5); lRUCache.Display(); } Round 3: Asked to review a block of code on .Net Core API call and System Design for below: Functional Requirements: > Million of endpoints (laptops and devices) Every 4 hrs Vulnerability data is pushed (JSON) - scan report > View it on a dashboard Top 10 vulnerabilities Want to see how many are patched. Non-Functional : > Scalability (<1MB) 1Mil x 4hrs = 0.25M/hr reliability durability Cost effective Security

Free preview. Unlock all questions →

Topics

Strings System Design Networking