JavaScript bank Company Specific JavaScript / 159 questions Your progress 0 / 159 done Saved in this browser. Reset All 159 Easy 2 Medium 75 Hard 82 Hide done No questions match those filters. 001 Implement a debounce function and explain how Google-scale search-as-you-type UIs use it. Medium 002 Explain how you'd architect a client-side module system for a very large monorepo web app. Hard 003 Implement a function to flatten a deeply nested array without recursion (using a stack). Medium 004 Explain the Event Loop and predict output for a mixed Promise/setTimeout snippet. Hard 005 Design a client-side caching layer for an API-heavy dashboard, including cache invalidation strategy. Hard 006 Implement a Trie and use it to power an autocomplete suggestion engine. Hard 007 Explain how you'd optimize a page for Largest Contentful Paint (LCP) on a slow 3G connection. Medium 008 Write a polyfill for `Array.prototype.reduce`. Medium 009 Explain trade-offs between client-side rendering and server-side rendering for a search-results page. Hard 010 Behavioral: Tell me about a time you had to make a difficult trade-off between shipping speed and code quality. Medium 011 Explain how React's reconciliation algorithm (Fiber) relates to plain JS closures and the call stack. Hard 012 Implement a simplified Virtual DOM diffing function for a list of keyed elements. Hard 013 Design the data-fetching and caching layer for a social media feed with infinite scroll. Hard 014 Implement `useDebounce` and `useThrottle` custom hooks. Medium 015 Explain how you'd detect and fix a memory leak in a single-page app with long user sessions. Hard 016 Implement a function to deep-compare two React props objects for a custom `shouldComponentUpdate`. Medium 017 Explain closures in the context of React hooks — what is a 'stale closure' bug? Hard 018 Design a notifications badge/counter system that stays in sync across multiple open tabs. Medium 019 Implement an LRU cache to back an image-preview cache in a photo-sharing feed. Hard 020 Behavioral: Describe a time you influenced a technical decision across multiple teams. Medium 021 Implement a rate limiter to throttle checkout API calls during a flash sale. Hard 022 Design the frontend architecture for a product listing page handling millions of SKUs with filters. Hard 023 Implement a retry-with-backoff utility for flaky payment API calls. Hard 024 Explain how you'd implement client-side A/B testing without harming Core Web Vitals. Medium 025 Write an algorithm to find the top K best-selling products from a large in-memory array. Medium 026 Explain your approach to debugging a checkout flow that intermittently double-submits orders. Hard 027 Implement a shopping cart's quantity debounced update, batching rapid clicks into a single API call. Medium 028 Design an offline-tolerant cart that syncs to the server once connectivity is restored. Hard 029 Leadership Principle style: Tell me about a time you disagreed with a decision but committed to it anyway. Medium 030 Explain how you'd instrument frontend performance metrics (RUM) at Amazon's scale. Hard 031 Explain the differences between `var`, `let`, and `const` and how TypeScript (used heavily at Microsoft) builds on top of them. Easy 032 Design a plugin/extension architecture (similar to VS Code extensions) using an event-driven pub/sub model. Hard 033 Explain how Web Workers could be used to keep a rich text editor (like Word Online) responsive during spellcheck. Hard 034 Implement a deep-diff algorithm to support real-time collaborative editing conflict detection. Hard 035 Explain accessibility (ARIA roles, focus management) considerations for a custom dropdown component. Medium 036 Debug a scenario where IndexedDB writes silently fail in a PWA offline mode. Hard 037 Implement a memoized Fibonacci function and discuss space/time trade-offs. Easy 038 Explain how you would design telemetry collection in the browser without blocking the main thread. Medium 039 Behavioral: Describe how you handled ambiguous requirements on a cross-team project. Medium 040 Design a client-side video player state machine (buffering, playing, paused, error, ended). Hard 041 Explain how you'd implement adaptive prefetching of the next episode's metadata using IntersectionObserver. Medium 042 Implement a circuit breaker for a flaky recommendations API call. Hard 043 Explain how Netflix-style A/B testing frameworks might hook into a JS rendering pipeline at the edge. Hard 044 Debug a memory leak in a long-running single-page app that never navigates away (like a TV app). Hard 045 Implement a virtualized horizontally-scrolling row of movie posters ('infinite carousel'). Hard 046 Explain how Service Workers could support offline playback queuing of downloaded content. Hard 047 Implement a throttled analytics-beacon sender batching UI interaction events. Medium 048 Explain trade-offs of client-side vs server-side rendering for a content-browsing homepage. Hard 049 Behavioral: Tell me about a time you had to make a decision with incomplete data. Medium 050 Design a real-time driver-location-tracking UI using WebSockets, including reconnection handling. Hard 051 Implement a debounce/throttle hybrid for map drag-to-search 'search this area' functionality. Medium 052 Explain how you'd batch and deduplicate rapid location updates before rendering on a map. Hard 053 Design an offline-tolerant ride-request flow for spotty network conditions (e.g., underground). Hard 054 Implement a rate limiter for a surge-pricing polling mechanism. Hard 055 Debug a race condition where a cancelled ride request UI still shows as 'in progress'. Hard 056 Explain how you would keep a live ETA counter accurate and performant using timers. Medium 057 Design a micro-frontend split between the Rider app and Driver app shared component library. Hard 058 Implement geofencing logic client-side to detect when a device enters/exits a zone from coordinate updates. Medium 059 Behavioral: Describe a high-pressure production incident you helped resolve. Medium 060 Design a search-results page with filters, pagination, and URL-synced state. Hard 061 Implement an image lazy-loading gallery using IntersectionObserver for listing photos. Medium 062 Explain how you'd design a date-range picker component's internal state management. Medium 063 Implement debounced address autocomplete with request cancellation on fast typing. Hard 064 Design a booking flow that must survive a page refresh mid-checkout (persist to storage). Medium 065 Debug a hydration mismatch bug between server-rendered and client-rendered listing prices. Hard 066 Explain how you'd internationalize currency and date formatting using the Intl API. Medium 067 Implement a rating/review star component supporting keyboard accessibility. Medium 068 Explain a caching strategy for host-listing data that's viewed repeatedly but changes infrequently. Medium 069 Behavioral: Tell me about a time you advocated for the user during a product trade-off discussion. Medium 070 Explain how you would build a secure payment form that isolates card data using iframes (Stripe Elements style). Hard 071 Implement idempotency-key generation client-side to prevent duplicate payment submissions. Hard 072 Explain CSP configuration needed to safely embed a third-party payment iframe. Hard 073 Implement retry-with-backoff for a webhook-status polling mechanism. Hard 074 Design client-side validation for a credit card form (Luhn check, expiry, CVC) without leaking full PANs to JS memory longer than needed. Hard 075 Debug a race condition where double-clicking 'Pay Now' triggers two charge requests. Medium 076 Explain how you'd design error handling and user messaging for declined-card scenarios across locales. Medium 077 Implement a masked input component for credit card number formatting as the user types. Medium 078 Explain SameSite cookie considerations for a payment flow embedded cross-origin. Hard 079 Behavioral: Tell me about a time correctness/security trumped shipping speed for you. Medium 080 Design a browser-based canvas editor's undo/redo stack (command pattern). Hard 081 Implement a debounced auto-save feature for a design document editor. Medium 082 Explain how Web Workers could offload heavy image-filter computations off the main thread. Hard 083 Implement a color-picker component with keyboard accessibility and ARIA live region updates. Medium 084 Explain memory management concerns when working with large `ArrayBuffer`/`ImageData` objects in a browser editor. Hard 085 Design a plugin architecture for third-party filters/extensions in a web-based creative tool. Hard 086 Debug a canvas rendering performance issue during rapid brush-stroke input. Hard 087 Implement a deep-clone utility preserving `ArrayBuffer` data for a document 'duplicate' feature. Medium 088 Explain how you'd implement collaborative cursors (multiple users editing) using WebSockets. Hard 089 Behavioral: Describe a time you balanced creative/design constraints with engineering feasibility. Medium 090 Design a Kanban board's drag-and-drop reordering logic and optimistic UI updates. Hard 091 Implement optimistic updates with rollback-on-failure for a task status change. Hard 092 Explain how you'd architect a plugin/marketplace system (like Jira/Confluence apps) using iframes or Web Components. Hard 093 Implement a real-time collaborative comment thread using WebSockets with conflict handling. Hard 094 Debug stale UI state after a background sync updates a ticket another user is viewing. Hard 095 Explain how you'd implement keyboard shortcuts globally without conflicting with browser defaults. Medium 096 Design a notification/activity feed with read/unread state synced across devices. Medium 097 Implement a rich-text editor's mention (`@user`) autocomplete dropdown. Medium 098 Explain your approach to feature-flagging a risky UI change safely across teams. Medium 099 Behavioral: Tell me about a time you had to push back on scope creep near a deadline. Medium 100 Explain performance-first principles you'd apply building a JS web app that must feel 'native' on iOS Safari. Hard 101 Implement smooth 60fps scroll-linked animations using `requestAnimationFrame`. Hard 102 Explain accessibility (VoiceOver) considerations for custom interactive components. Medium 103 Debug jank caused by layout thrashing during a scroll event handler. Hard 104 Design a media-heavy product page (like apple.com) optimized for LCP and CLS. Hard 105 Implement lazy-loading of below-the-fold `<video>` content with autoplay-on-visibility. Medium 106 Explain how you'd detect and gracefully handle Safari-specific API differences (e.g., IndexedDB quirks). Hard 107 Implement a pinch-to-zoom / gesture handler using pointer events. Hard 108 Explain privacy-conscious analytics design (minimal data collection) for a client-side tracker. Medium 109 Behavioral: Describe your attention to detail on a pixel-perfect UI implementation. Medium 110 Design a live order-tracking map UI with WebSocket-driven courier location updates. Hard 111 Implement a debounced restaurant-search-as-you-type with cancellation of stale requests. Medium 112 Explain how you'd cache and invalidate a restaurant menu that changes infrequently but must reflect live item availability. Medium 113 Debug a race condition between 'add to cart' clicks and a menu refresh overwriting cart state. Hard 114 Implement a retry mechanism for order-status polling with exponential backoff. Hard 115 Design an offline-tolerant checkout that queues an order if connectivity briefly drops. Hard 116 Explain how you'd batch multiple rapid quantity-stepper clicks into a single cart-update API call. Medium 117 Implement a countdown ETA timer synced against server time rather than client clock drift. Medium 118 Explain performance considerations for rendering a long, filterable restaurant list. Medium 119 Behavioral: Tell me about a time you shipped an MVP under time pressure and what you'd improve later. Medium 120 Design an infinite-scrolling professional feed with ad-slot injection at intervals. Hard 121 Implement a 'seen/unseen' notification badge synced across tabs using the storage event. Medium 122 Explain how you'd implement a mentions/hashtag autocomplete in a post-composer textbox. Medium 123 Debug duplicate analytics events firing due to an event listener attached multiple times. Medium 124 Design a connections-graph visualization that stays performant with thousands of nodes. Hard 125 Implement lazy-loaded profile images with a blurred low-res placeholder (LQIP pattern). Medium 126 Explain how you'd throttle 'typing indicator' events in a messaging feature. Medium 127 Design client-side rate limiting for connection-request spam prevention. Medium 128 Explain accessibility considerations for an infinite feed for screen-reader users. Medium 129 Behavioral: Describe a time you mentored a junior engineer through a difficult bug. Medium 130 Design a masonry-grid image layout that virtualizes off-screen pins for performance. Hard 131 Implement lazy-loading and blur-up placeholders for a pin image grid. Medium 132 Explain how you'd debounce and batch 'save pin' clicks to avoid duplicate API writes. Medium 133 Design infinite scroll with dynamic re-layout as new image dimensions load in. Hard 134 Debug Cumulative Layout Shift caused by images without explicit width/height loading late. Medium 135 Implement client-side image dominant-color extraction for placeholder backgrounds using Canvas. Hard 136 Explain caching strategy for a personalized recommendation feed that updates periodically. Medium 137 Implement a search-and-filter combo (boards + pins) with combined debounced queries. Medium 138 Explain how Service Workers could support an offline 'saved pins' view. Hard 139 Behavioral: Tell me about a time you improved a metric (engagement/performance) with a frontend change. Medium 140 Design a browser-based design canvas's layer/z-index management system. Hard 141 Implement undo/redo for a design editor using the command pattern with a history stack. Hard 142 Explain how you'd offload expensive image filter rendering to a Web Worker without blocking drag interactions. Hard 143 Implement snapping/alignment guide logic when dragging design elements near each other. Hard 144 Debug a performance regression when rendering hundreds of draggable elements on a canvas. Hard 145 Explain real-time collaborative editing conflict resolution for two users moving the same element. Hard 146 Implement a debounced auto-save for a design project to avoid excessive network writes. Medium 147 Explain accessibility trade-offs in a highly visual, drag-and-drop-centric editor. Medium 148 Implement export-to-image functionality using the Canvas API's `toBlob`/`toDataURL`. Medium 149 Behavioral: Tell me about a time you simplified a complex UI interaction based on user feedback. Medium 150 Implement a streaming UI that renders tokens from a server-sent event / ReadableStream response incrementally. Hard 151 Explain how you'd cancel an in-flight streaming completion request cleanly using AbortController. Medium 152 Design a chat interface's message list virtualization for very long conversations. Hard 153 Implement client-side rate limiting/backoff for a chat app hitting API rate limits. Hard 154 Explain how you'd debounce 'typing...' indicator broadcasts in a multi-user chat. Medium 155 Debug a race condition where a regenerated response overlaps with a still-streaming previous response. Hard 156 Design optimistic UI updates for sending a chat message before server confirmation. Medium 157 Implement markdown-to-DOM incremental rendering as streamed text arrives, safely avoiding XSS. Hard 158 Explain how Web Workers could tokenize/highlight code blocks without blocking the main thread during streaming. Hard 159 Behavioral: Tell me about a time you had to design UI for a fundamentally new kind of interaction pattern. Medium ← Previous Security