Coding Rounds for QA and SDET
Crack the QA coding round
Real questions from QA and SDET interviews. Write code, run it in the browser terminal, and submit to hidden tests for a score. JavaScript, TypeScript, Java, SQL, Playwright, API testing and framework design.
Basic questions freePro: ₹99/month, first month free with any course
Your progress
0 / 980% solved
- Tried
- 0
- Avg best
- 0
- Tracks
- 7
Saved in this browser.
Daily challengeOne question for everyone, free today.Timed mock roundProThree unseen questions against the clock.LeaderboardTop daily scores, today and this week.
Question bank
Pick a track, then filter by level or what you haven't solved yet.
98 questions
- FreeReverse a string without reverse()JavaScriptStrings5 min
- FreeCheck if a string is a palindromeJavaScriptStrings7 min
- FreeCount occurrences of each characterJavaScriptStrings8 min
- FreeFind duplicate elements in an arrayJavaScriptArrays7 min
- FreeFind the second largest numberJavaScriptArrays8 min
- FreeCheck if two strings are anagramsJavaScriptStrings7 min
- FreeFirst non-repeating characterJavaScriptStrings8 min
- FreeFind the missing number from 1 to nJavaScriptArrays6 min
- FreeRemove duplicates while keeping orderJavaScriptArrays5 min
- FreeFlatten a nested arrayJavaScriptArrays8 min
- FreeGroup API responses by status codeJavaScriptAPI data8 min
- FreeValidate an API user response (TypeScript)TypeScriptAPI data10 min
- FreeSecond highest salarySQLAggregation6 min
- FreeFind duplicate customer emailsSQLData quality6 min
- FreeCustomers who never placed an orderSQLJoins7 min
- FreeEmployees earning above their team averageSQLSubqueries8 min
- FreeCount open bugs by severitySQLAggregation5 min
- FreeFailed tests per suiteSQLAggregation6 min
- FreeFind records with missing emailsSQLData quality4 min
- FreeTotal spend per customerSQLJoins7 min
- FreeOrders with no payment recordSQLData quality6 min
- IntermediateGroup test results by statusJavaScriptObjects10 min
- IntermediateRetry a flaky async functionJavaScriptAsync12 min
- IntermediateDeep equality check for API responsesJavaScriptObjects15 min
- IntermediateParse a URL query stringJavaScriptStrings10 min
- IntermediateTop K most frequent error messagesJavaScriptMaps12 min
- AdvancedImplement debounceJavaScriptAsync15 min
- AdvancedRun async tasks with a concurrency limitJavaScriptAsync20 min
- IntermediateValidate a paginated API responseTypeScriptTypes12 min
- AdvancedBuild a test-data builderTypeScriptPatterns15 min
- IntermediateThird-highest distinct salary with DENSE_RANKSQLWindow functions8 min
- IntermediateHighest-paid employee in each teamSQLWindow functions10 min
- IntermediateAverage days to close bugs per moduleSQLDates10 min
- AdvancedFind flaky testsSQLAggregation12 min
- AdvancedRunning total of daily revenueSQLWindow functions12 min
- AdvancedOrders whose payments don't match the totalSQLData quality12 min
- IntermediateSplit an array into batchesJavaScriptArrays8 min
- IntermediateLongest substring without repeating charactersJavaScriptStrings15 min
- IntermediateValidate balanced bracketsJavaScriptStacks10 min
- IntermediateRotate an array by k stepsJavaScriptArrays8 min
- IntermediateTwo sumJavaScriptMaps10 min
- IntermediateMerge two sorted arraysJavaScriptArrays10 min
- IntermediateMask emails and card numbers in logsJavaScriptRegex12 min
- IntermediateCompare version numbersJavaScriptStrings10 min
- AdvancedDiff two API responsesJavaScriptObjects18 min
- AdvancedMemoize an expensive functionJavaScriptClosures12 min
- AdvancedBuild a tiny event emitterJavaScriptPatterns15 min
- AdvancedPoll until a condition is trueJavaScriptAsync15 min
- AdvancedImplement an LRU cacheJavaScriptData structures20 min
- IntermediateGeneric groupByTypeScriptGenerics10 min
- IntermediateParse test environment config safelyTypeScriptTypes12 min
- AdvancedResult type for safe API callsTypeScriptTypes15 min
- IntermediateOrder count and revenue by statusSQLAggregation6 min
- IntermediateProducts never orderedSQLJoins7 min
- AdvancedOrders whose items don't add upSQLData quality12 min
- IntermediateUnits sold per categorySQLJoins8 min
- IntermediateEmployee with manager name (self join)SQLJoins8 min
- IntermediateOpen high-severity bugs per moduleSQLFiltering7 min
- IntermediatePass rate per test suiteSQLAggregation8 min
- AdvancedSlowest test in each suiteSQLWindow functions10 min
- AdvancedEach customer's latest orderSQLWindow functions10 min
- IntermediateDuplicate product lines in an orderSQLData quality7 min
- IntermediateOrders pointing to missing customersSQLData quality6 min
- AdvancedSalary difference from team averageSQLWindow functions10 min
- AdvancedDay-over-day order changeSQLWindow functions14 min
- IntermediateMost active users in the audit logSQLAggregation7 min
- AdvancedDeactivated customers who still orderedSQLData quality9 min
- FreePlaywright: log in with user-facing locatorsPlaywrightLocators6 min
- IntermediatePlaywright: read the error messagePlaywrightAssertions8 min
- IntermediatePlaywright: extract data from a tablePlaywrightTables10 min
- IntermediatePlaywright: click a button inside the right rowPlaywrightLocators10 min
- IntermediatePlaywright: catch a toast without sleepingPlaywrightWaits8 min
- IntermediatePlaywright: verify the cart totalPlaywrightAssertions10 min
- AdvancedPlaywright: write a Page ObjectPlaywrightPage Object Model15 min
- AdvancedPlaywright: collect items across pagesPlaywrightPagination15 min
- FreeAPI: health-check endpointAPI testingStatus codes5 min
- IntermediateAPI: create a user and verify itAPI testingCRUD10 min
- IntermediateAPI: log in and call a protected endpointAPI testingAuthentication10 min
- IntermediateAPI: fetch every page of resultsAPI testingPagination12 min
- AdvancedAPI: retry on rate limitingAPI testingResilience12 min
- AdvancedAPI: validate a response against a schemaAPI testingContract testing18 min
- FreeFramework: load CSV test dataFramework designData-driven tests8 min
- IntermediateFramework: environment config with overridesFramework designConfiguration12 min
- IntermediateFramework: summarise a test runFramework designReporting10 min
- AdvancedFramework: filter tests by tagsFramework designTest selection15 min
- AdvancedFramework: fixtures with setup and teardownFramework designFixtures18 min
- FreeJava: reverse a string without StringBuilder.reverse()JavaStrings5 min
- FreeJava: count vowels in a stringJavaStrings5 min
- FreeJava: second largest number in an arrayJavaArrays7 min
- FreeJava: character frequency with a MapJavaCollections8 min
- IntermediateJava: check if two strings are anagramsJavaStrings8 min
- IntermediateJava: first non-repeating characterJavaCollections8 min
- IntermediateJava: remove duplicates keeping orderJavaCollections6 min
- IntermediateJava Streams: names of failed testsJavaStreams8 min
- IntermediateJava: balanced brackets with a stackJavaStacks10 min
- AdvancedJava: group test cases by statusJavaStreams12 min
- AdvancedJava: retry a flaky actionJavaFramework utilities12 min
- AdvancedJava: LRU cacheJavaCollections15 min
Checking your membership…
C# rounds are coming next. Your progress is saved in this browser.