Contribute OA questions
OAHelper
CompaniesProblemsTopicsInterview Experiences
Explore
G

Google

sde

Interview Date

10-08-2026

Result

Selected

Difficulty

Easy

Rounds

01

Drive Type

Off-Campus

Interview Date

10-08-2026

Result

Selected

Difficulty

Easy

Rounds

01

Drive Type

Off-Campus

Topics asked

dsa

Detailed experience

PART 1: ALGORITHMIC PROBLEM - PALINDROMIC TREES (EERTREE) & STRING DP BASE PROBLEM You are building an algorithmic parser for a high-frequency trading feed where symmetric, palindromic string patterns indicate specific market anomalies. Task: Given a continuous string of length `N` (where `N <= 10^5`), design an algorithm to find the exact number of strictly distinct palindromic substrings. While a standard approach using Manacher’s Algorithm or String Hashing takes O(N log N) or O(N) but requires complex deduplication, how do you construct a Palindromic Tree (Eertree) maintaining two distinct root nodes (for even and odd length palindromes) to build the automaton and count the distinct palindromes in strictly O(N) time and space? FOLLOW-UP 1 The problem evolves to a dynamic programming optimization. You must partition the string into the minimum number of contiguous palindromic substrings. Running a standard DP using the Eertree takes O(N^2) time because a single character addition can result in O(N) palindromic suffixes. How do you optimize the Eertree nodes to store the "difference between the lengths of the current and previous palindromic suffix" (the arithmetic progression of palindromes), reducing the DP state transitions and solving the Minimum Palindromic Partitioning problem in strictly O(N log N) time? FOLLOW-UP 2 This string parser is being deployed in an ultra-low-latency C++ environment. Parsing standard FIX protocol strings requires strict memory determinism. Standard Eertree implementations dynamically allocate nodes using `new Node()` and use `std::unordered_map` for child transitions, which causes catastrophic L1 cache misses and pointer-chasing delays. How do you design a flat-array Eertree layout (e.g., using `std::array` or `std::vector`) combined with bitwise fast-paths for the 26-character alphabet transitions to completely eliminate dynamic allocation, ensuring strictly contiguous memory access and zero OS intervention during the real-time stream processing? ------------------------------------------------ PART 2: SYSTEM DESIGN - MULTI-TENANT FINANCIAL API & SECURE GATEWAY BASE PROBLEM You are designing a secure, multi-tenant REST backend for a quantitative algorithmic trading platform. Tens of thousands of different quantitative trading bots connect to it to submit trades and pull market data. Design the overall architecture of the API Gateway and downstream microservices. Focus on tenant isolation, ensuring that a runaway bot from Tenant A cannot exhaust the compute resources, rate limits, or database connection pools allocated to Tenant B. FOLLOW-UP 1 Financial security requires that clients cryptographically sign their trading payloads using HMAC-SHA256 or ECDSA. The gateway receives 100,000 orders per second. If the gateway CPU synchronously verifies these signatures, it will immediately bottleneck and crash the event loop. How do you design an asymmetric load-balancing tier or utilize hardware acceleration (e.g., batching cryptographic verifications and offloading them to GPU/OpenCL compute kernels) to verify massive throughputs of signatures asynchronously without blocking the primary C++ networking thread? FOLLOW-UP 2 Once the payload is verified, the order must be passed from the API Gateway to the core execution engine. Utilizing a standard TCP/IP network hop or a distributed Redis queue introduces 1-2 milliseconds of latency, which violates the strict sub-millisecond execution requirements of the quant clients. Since the gateway and the execution engine reside on the same physical bare-metal server, how do you design a lock-free, zero-copy Inter-Process Communication (IPC) mechanism (e.g., utilizing POSIX shared memory `mmap` and atomic ring buffers) to validate limits and pass trade payloads between the processes with absolute zero network and system call overhead? ------------------------------------------------ PART 3: AI / LLM DISCUSSION QUESTIONS When deploying real-time LLM or computer vision inference pipelines to edge devices, how do Unified Memory Architectures (where the CPU and GPU share the exact same physical RAM) fundamentally change the optimization strategies for memory-bound operators compared to traditional discrete PCIe GPUs? In the context of porting deep learning inference (like PyTorch or ONNX models) to run natively in C++ using OpenCL or CUDA, what is "Kernel Fusion"? How does combining consecutive element-wise operations (like a Matrix Multiplication followed immediately by a ReLU and a LayerNorm) drastically reduce VRAM I/O overhead and boost end-to-end latency? What is the mathematical and architectural difference between "Prefix Tuning" and standard "Prompt Tuning"? Specifically, how does injecting trainable continuous vectors directly into every deep hidden layer of the transformer (Prefix Tuning) differ mechanically from prepending trainable tokens solely at the input embedding layer? When performing extreme model fine-tuning or Quantization-Aware Training (QAT), backpropagation requires continuous, differentiable functions. How does the "Straight-Through Estimator" (STE) mathematically bypass the zero-gradient problem caused by the discrete step-functions required to map FP16 weights into INT4 buckets during the backward pass?

Posted on - 25 Sept 2026
Company OAsAll ProblemsTopicsCompany InsightsOA CalendarInterview ExperiencesPremium
OAHelper

Built by students, for students - practice company-specific OAs, DSA sheets, and real interview experiences to land your dream role.

© 2026 OAHelper.in·Terms·Privacy·Refunds·Trust & Safety·Contact·
Ready to crack your next OA?

Practice company-specific questions trusted by thousands of students across India.

Start PracticingGo Premium
OA Practice·DSA·Placements

Disclaimer: OAHelper is an independent educational platform. We (oahelper.in) do not own the images or questions shown. Content is uploaded by users.