Rippling frontend engineer interviews emphasise JavaScript, DOM manipulation, CSS, accessibility, browser APIs, and UI component architecture.
Question You are building a simplified card game where each player has a hand of cards and the higher-rated hand wins. Each hand contains exactly...
Input: StringQuestion You need to design a logger library for a new application. The design should be able to allow us to easily add future loggers, like a db...
Input: ArrayQuestion You are building a driver payment system for a food delivery company. The accounting team needs to track how much money is owed to drivers...
Input: StringQuestion You need to build a rule evaluation system for a corporate credit card platform. Managers should be able to create rules that enforce...
Input: Listdebounce that takes a function func and a delay in milliseconds wait. It should return a new function that, when invoked repeatedly, will only invoke func after wait milliseconds have passed since the last time the returned function was invoked.const search = debounce((term) => console.log(term), 300); search('John'); search('John Doe'); // waits until 300 ms after the last call and then prints 'John Doe'const log = debounce(() => console.log('Hello'), 1000); log(); log(); log(); // waits 1000 ms to log 'Hello' once onlywait will be a positive integer and 0 < wait <= 1000.createFormManager that returns an object with methods to handle the state of form fields. The object should have the following methods:setField(name: string, value: any): void - Set the value of a field.getField(name: string): any - Get the value of a field.getAllFields(): { [key: string]: any } - Get the values of all fields.const form = createFormManager(); form.setField('email', 'test@mail.com'); form.getField('email'); form.setField('age', 30); form.getAllFields(); { email: 'test@mail.com', age: 30 }1 <= name.length <= 100value can be of any type, but must be a simple value (string, number, etc.).Sign up for free to access walkthroughs, AI-generated questions, and more.
Get Started Free