Recommended preparation

Editorial practice groupings, not verified official interview questions or endorsements.

Public Shopee prep guide

Shopee Frontend Interview Questions

Prepare with five practice prompts shaped by public frontend interview accounts from Ho Chi Minh City, mainland China, Singapore campus hiring and Taipei, 2020 to 2025: a Promise written without using Promise after event-loop and async questions, a recursive multi-level hover menu in React, a function cache keyed by its arguments beside flatten, deep clone and new, an HTTP, caching, cookie and security hour, and a 90-minute written test with CSS specificity and centring questions.

This guide uses public, self-reported interview accounts, most of them written in Chinese between 2020 and 2022, together with Shopee's own hiring page and a reprinted campus posting, to create realistic constraints. It does not claim access to private interview material, a fixed interview format, or the stack of every Shopee team.

5 practice promptsJavaScript, React, HTTP, CSSFull practice set requires Premium

Study priorities

Prepare for product judgment, not Shopee trivia

The public accounts reward engineers who can write JavaScript fundamentals from memory and explain the web platform precisely: a Promise implemented without Promise, a function cache, flatten, deep clone and new, then HTTP caching, cookie attributes, CSRF, XSS and CORS answered with the right headers and status codes. Networking and security questions appear in these frontend accounts more often than in most other companies' public loops, sometimes as a whole round, and one or two LeetCode easy-to-medium problems sit in most technical rounds outside Taipei. Each prompt below starts with the clarifying questions a strong candidate asks, then the behaviours a strong answer covers, then the miss that usually ends the round.

The shape differs by region. The 2025 Ho Chi Minh City account ran a two-hour frontend round in clear parts (CSS, JavaScript, a React build, an algorithm), a CS-fundamentals round, a behavioural interview a week later and a final conversation before the offer. Mainland-China loops run per department as a first and second technical interview plus HR, sometimes all on one day, and a second department can re-interview a candidate another has turned down. Singapore campus loops start with an online assessment and continue in video rounds of 60 to 90 minutes. Taipei ran a 30-minute HR call, a 90-minute written test and same-day panels with a product manager and a tech lead, where, in the candidate's words, communication mattered a lot. Practise narrating your decisions, not only typing them.

Reported interview process

Shopee frontend interview process

Shopee's How we hire page lists five steps (Apply, Getting to Know You, Putting Your Skills to the Test, Meet the Hiring Manager, Preparing to Join Us) and says the number of rounds varies depending on the role and seniority. Public frontend accounts describe three shapes: a 2025 Ho Chi Minh City loop with an HR call, a two-hour frontend round, a CS-fundamentals round, a behavioural interview a week later and a final conversation; Singapore campus loops from 2020 to 2022 with an online assessment, video rounds of 60 to 90 minutes and an HR call; and mainland-China campus and social-hire loops run in Chinese, with a written test for some campus roles, two technical interviews per department and an HR conversation.

The Singapore experienced-hire loop that English searches point at (an HR call, a coding test on HTML, CSS and JavaScript, two technical rounds heavy on verbal JavaScript, an engineering-manager round and an offer in about two weeks) rests on search snippets only and gets no table. Taipei has two accounts and no table: a 2021 frontend loop with a 30-minute HR call, a 90-minute junior-level written test and same-day panels with a product manager and a tech lead, and a 2023 senior software-engineer loop of HR, a manager round on technology, a peer round and a senior-manager chat. Most full-text accounts are from 2020 to 2022 and written in Chinese, and on 2026-10-21 the Shopee job board listed no frontend-titled opening in Singapore or South-East Asia. Sources last checked Oct 2026.

Front-end engineers, Ho Chi Minh City, 2025

One full account (Viblo, February 2025, an offer) carries this table; the stage order rests on it alone.

StageWhat happensWhoEvidence
HR call Personal details, expected salary and whether the candidate is willing to move to Saigon. All candidatesOne public report, 2025
Frontend technical round About two hours in clear parts: CSS (the position values), JavaScript (the event loop, promises, async/await, a Promise written without using Promise), a React build (a recursive multi-level hover menu) and an algorithm on mapping characters between two data sets. Practice: Create a deferred promiseFront-end engineersOne public report, 2025
CS-fundamentals round Design a system based on the candidate's current work, then HTTP, TCP/UDP, WebSocket, how an API gateway and a load balancer work, and encryption, hashing and encoding. Practice: HTTP caching basicsFront-end engineersOne public report, 2025
Behavioural interview A week later: how the candidate had worked with a colleague who held a different view, and how it was resolved. Practice: Behavioural storiesAll candidatesOne public report, 2025
Final conversation and offer Future direction and expectations at Shopee compared with the previous job; the offer came a few days later. Candidates who passOne public report, 2025

Fresh graduates, Singapore, 2020 to 2022

One frontend first round (Nowcoder, September 2020) plus three campus loops in other tracks for the assessment and round shape. Singapore experienced hires get no table.

StageWhat happensWhoEvidence
Online assessment A 70-minute test in the 2022 account: ten multiple-choice questions on operating systems and networking plus two array coding problems; twenty-odd multiple-choice questions plus one LeetCode problem in the 2021 account. Campus candidates; backend and platform accounts2 public reports, 2021–2022
Technical video rounds One to three rounds of 60 to 90 minutes on a shared editor, each with one or two problems, CS fundamentals and a design-concept question; the frontend first round had a string-compression algorithm plus JavaScript versus CSS animation, specificity, React keys, HTTPS and man-in-the-middle attacks, and session versus cookie versus token. Practice: Cascade, specificity and !importantAll campus candidates; frontend content from the 2020 first round4 public reports, 2020–2022
HR call with a verbal offer A verbal offer from HR about five weeks after applying, with cost-of-living and relocation material for overseas hires in the 2020 account; one 2022 loop ended in a rejection sixteen days after applying. Candidates who pass2 public reports, 2020–2022

Campus and social hires, mainland China, in Chinese, 2019 to 2025

All loops in Chinese. The official line comes from a reprinted 2027 campus posting; the accounts are campus loops from 2019 to 2021 and social-hire loops from 2020 and 2022, each social hire re-interviewed by a second department.

StageWhat happensWhoEvidence
Application or referral, then a written test The campus posting lists 网申/内推 (online application or referral), then 笔试 (a written test) that some roles skip (部分岗位不设笔试), before two to three technical rounds. Campus candidatesOfficial page
First technical interview JavaScript, CSS, HTTP and framework basics plus one or two small algorithms: event-loop and promise output questions, handwritten new, flatten and deep clone, XSS and CSRF, caching headers, CSS centring, binary search, set intersection or quicksort; the 2019 account says the interviewer guides the candidate's thinking. Practice: Implement the new operatorFront-end engineers, campus and social hires6 public reports, 2019–2022
Second technical interview React internals and diffing, HTTP/2 and status codes, webpack performance and async chunks, CDN questions, scenario questions such as a user reporting a button that cannot be clicked, project depth, and a second coding task such as a function cache; the 2019 account had three questions only. Practice: MemoizationFront-end engineers4 public reports, 2019–2022
HR interview and offer The posting lists an HR conversation (HR沟通) before the offer. In the social-hire accounts the loop runs per department, sometimes both technical rounds and HR on one day; a rejection after the first round can come back with feedback such as 算法有待加强 (algorithms need strengthening), and a second department can re-interview the same candidate. All candidatesOfficial page and 2 reports

Role lenses

Two product contexts for practising transferable frontend judgment

These are preparation lenses derived from the departments the public accounts name (a seller platform, a supply-chain team, a digital bank and a team the account calls PFMS), not claimed team assignments. Choose the lens closest to the role and keep the reasoning framework-neutral.

Seller and back-office web

The 2020 and 2022 mainland-China loops ran through seller-platform, supply-chain and PFMS teams and asked about webpack performance and async chunk loading, fifty SVG requests, what a CDN does, html2canvas and a schema-driven back-office form.

Practice focus: Bundle splitting and lazy loading, sprites and batching for many small assets, CDN caching with explicit invalidation, form state driven by a schema, and rendering work kept off the critical path.

Digital bank

The 2022 digital-bank first round was an HTTP and security hour: an HTTP message for a POST, strong versus negotiated caching, SameSite and CSRF, CORS, and carrying an ID number safely in a cookie, plus a Vue scenario: a vertically centred dialog created on demand through a createDialog call rather than injected as a component.

Practice focus: Cookie and token placement with its trade-offs, HTTPS and TLS reasoning, CORS with credentials, escaping and a Content Security Policy, and idempotent requests for actions that move money.

Representative practice prompts

Five Shopee frontend interview practice questions

For each prompt, clarify the contract, explain ownership and trade-offs, implement or write out the smallest credible slice, and test the failure cases. Each prompt links to the public report it is modelled on and to a practice page; quoted Chinese and Vietnamese phrases are glossed in English.

Prompt 1

Write a Promise without using Promise, after the event-loop and async questions

The 2025 Ho Chi Minh City account describes the JavaScript part of a two-hour frontend round: the interviewers went deep into the event loop, promises and async/await, then set one exercise, "code một Promise nhưng không được dùng Promise" (write a Promise without using Promise). Implement a MyPromise class with a constructor that takes an executor, then and catch methods that chain, and callbacks that run asynchronously, and be ready to predict the output of promise and setTimeout snippets before you start.

Practice version modelled on a reported round: Public report: Viblo frontend engineer account, Ho Chi Minh City, February 2025

What this measures

Whether you understand the state machine behind a promise (pending, fulfilled, rejected, settled once), how then returns a new promise and adopts returned values, why callbacks must run asynchronously, and whether you can predict microtask and macrotask order.

Clarify first

  • Confirm the scope: constructor, then and catch only, or also finally, static resolve and reject, and adopting thenables returned from handlers.
  • Ask whether callbacks must run as microtasks (queueMicrotask) or whether setTimeout is acceptable, and whether the interviewer wants tests or a demonstration with console output.

Strong answer should cover

  • Hold the state, the value and two handler queues; let the executor call resolve or reject synchronously, and ignore every settlement after the first.
  • Make then return a new promise: a handler's return value resolves it, a thrown error rejects it, and a missing handler passes the value or the reason through, so chains work and catch(fn) is then(undefined, fn).
  • Queue handlers while pending and run them asynchronously once settled, so a then callback does not fire synchronously even when the promise is already resolved.
  • Answer the warm-ups precisely first: the 2020 Juejin record asks whether microtasks run ahead of macrotasks without exception and for the output of a promise resolved with a rejected promise (it logs 2, the catch branch), and the 2021 Taipei written test asks what setTimeout inside a var loop logs.

Common miss: Calling then callbacks synchronously when the promise is already settled, or letting a second resolve overwrite the first value; both break the ordering questions the same round asked about.

Practice the deferred promise with resolve and reject controls (free)

Prompt 2

Build a recursive multi-level hover menu in React

From the same 2025 account: build a multi-level menu in React where hovering an item drops down its sub-menu, and a sub-menu with children of its own keeps opening, described by the candidate as a recursion exercise. Take a nested array of items with an optional children array, render one component that renders itself for each child, and keep only the hovered path open.

Practice version modelled on a reported round: Public report: Viblo frontend engineer account, Ho Chi Minh City, February 2025

What this measures

Recursive component design over nested data, where the open state lives, hover handling that does not close the menu while the pointer travels into the sub-menu, stable keys, and keyboard access.

Clarify first

  • Confirm the data shape (an id, a label, an optional children array) and the maximum depth, and whether several branches may be open at once or only the hovered path.
  • Ask whether hover alone is enough or the menu must also open on focus and the arrow keys, and how a sub-menu should position itself when it would overflow the viewport.

Strong answer should cover

  • Write one MenuItem component that renders a label and, when it has children and is open, a list of MenuItem for them; recursion over the data keeps the depth unbounded without duplicated markup.
  • Keep the open state per item (an open flag inside each MenuItem) or as one open path in the parent; say which you chose and why the parent version makes closing siblings and keyboard navigation simpler.
  • Handle pointer movement: open on mouseenter of the item, close on mouseleave of the item including its sub-menu, so the pointer can move into the sub-menu without collapsing it; add a short close delay if asked.
  • Use stable ids as keys rather than the array index, and add a focus and keyboard path (Enter or ArrowRight to open, Escape to close) so the menu works without a mouse; the React nested comments drill at /react/coding/react-nested-comments (Premium) rehearses the same recursive tree with a single active branch.

Common miss: A sub-menu that closes as soon as the pointer leaves the parent label because the leave handler sits on the label rather than on the item with its sub-menu, and a children list rendered with index keys so hover state jumps between items.

Practice recursion over nested nodes with the indented tree filter (free)

Prompt 3

Implement a function cache keyed by its arguments, then flatten an array, deep-clone an object and implement new

A 2020 Juejin record of two mainland-China loops lists the handwritten tasks: a cache wrapper where f2 = cache(f1) returns the earlier result at once for the same arguments (f1("abc", 123, {b: 3}) took 1000 seconds to return 10; f2 with the same call returns 10 in 0 seconds), 拍平数组 (flatten an array), 深复制 (deep clone) and "new 的实现" (implement new). A 2022 Nowcoder social-hire account got 函数缓存 (a function cache) again in a second round. Implement each in plain JavaScript and say what each one does with its edge cases.

Practice version modelled on a reported round: Public report: Juejin frontend interview record, mainland China, March 2020

What this measures

Closures and key derivation for a cache, recursion over nested arrays and objects, how the prototype chain and this binding work inside new, and whether you name the edge cases (object arguments, cycles, dates and functions in a clone, a constructor that returns an object) without being prompted.

Clarify first

  • For the cache: ask how two calls with the same object argument should compare (by reference or by serialised value), whether entries expire or the size is capped, and what to do when the function throws.
  • For deep clone: confirm which types must survive (nested arrays and objects, Date, Map, Set, cyclic references) and whether structuredClone is allowed or the point is to write it by hand.

Strong answer should cover

  • Cache: return a wrapper that derives a key from the arguments (JSON.stringify for plain data, or a Map keyed by reference when identity is what the interviewer wants), stores results in a Map and returns the stored value on a hit; say how a thrown error and a Promise result should be treated.
  • Flatten: a recursive reduce that concatenates nested arrays, then Array.prototype.flat(Infinity) once you have shown the hand-written version; the one-level version at /javascript/coding/js-flatten-once (free) is the warm-up.
  • Deep clone: recurse over arrays and plain objects, copy Date, Map and Set explicitly, and keep a WeakMap of visited objects so cycles terminate; the full drill is at /javascript/coding/js-deep-clone (Premium).
  • new: create an object whose prototype is the constructor's prototype, call the constructor with that object as this, and return the constructor's result if it is an object, otherwise the new object; /javascript/coding/js-implement-new (free) covers the same contract. The 2020 record also asks whether an arrow function can be used with new, and the 2022 account asks you to walk an object's and a function's prototype chain all the way to null.

Common miss: A cache keyed by arguments.join(",") that treats {b: 3} as "[object Object]", a deep clone that loops forever on a cyclic reference, and an implementation of new that forgets the constructor may return an object of its own.

Practice memoisation keyed by arguments (Premium)

Prompt 5

Clear the 90-minute written test and the CSS questions

A 2021 Taipei account reproduces its 90-minute onsite written test, which the candidate rated junior level: sort an array and remove duplicates in decreasing order; the rules of CSS specificity; shallow versus deep copy; how to manage CSS in a large application; three ways to centre horizontally and vertically; optimise or debug a class component; and the console output of setTimeout inside a var loop. The same-day panels then asked about cookie details, localStorage and sessionStorage, whether computing load belongs on the frontend or the backend, and how the browser renders HTML, CSS and JavaScript. The 2020 mainland-China campus first round asked for the centring methods and the caching headers as well. Answer all seven in writing with a clock running, then explain each answer aloud.

Practice version modelled on a reported round: Public report: GoodJob frontend engineer written test and panels, Taipei, January 2021

What this measures

Fast, correct fundamentals on paper: array methods, the specificity algorithm, copy semantics, CSS organisation at scale, layout techniques, class-to-hooks judgment and closure behaviour in loops, plus the ability to explain each answer to a product manager and a tech lead the same day.

Clarify first

  • For the centring and CSS-at-scale questions, ask whether the interviewer wants methods named or a recommendation with trade-offs, and whether a methodology such as BEM or scoped styles is assumed.
  • For the class component, confirm what "optimise" targets (render count, readability, bundle size) before rewriting it with hooks.

Strong answer should cover

  • Sort and dedupe: Array.from(new Set(arr)).sort((a, b) => b - a), and say why sort without a comparator would order the numbers as strings.
  • Specificity: inline styles beat ids, ids beat classes, attributes and pseudo-classes, which beat elements and pseudo-elements; !important overrides the comparison and later rules win ties. Three ways to centre: flex with justify-content and align-items, grid with place-items, and absolute positioning with a transform; name margin auto on a sized block as a fourth if asked.
  • Shallow versus deep copy: spread and Object.assign copy one level and nested objects stay shared; a JSON round-trip drops functions and dates; structuredClone or a hand-written recursion handles the rest. CSS at scale: a naming convention or scoped styles, design tokens, a layering order and a lint rule, with one place for global resets.
  • The loop: var hoists one i shared by all three callbacks, so after the loop it logs 3 undefined three times; let gives each iteration its own binding. The class component: move it to a function component with hooks where that simplifies it, add stable keys to the list items, and memoise only what profiling shows is expensive, as the account's own answer suggested.

Common miss: Sorting with the default comparator, which orders numbers as strings, or answering the loop question with 0 1, 1 2, 2 3 because the shared var binding was not run through in your head.

Practice inline centring (free)

Public mini walkthrough

Scope the Promise implementation before the first line

Treat this as a representative exercise, not a description of the reported one. Work from the contract toward the microtask, and say each decision out loud.

  1. Pin the contract

    A constructor that takes an executor and calls it at once with resolve and reject; then(onFulfilled, onRejected) and catch(onRejected) that return new promises. Say what you are leaving out: finally, the static helpers, thenable adoption.

  2. Model the state

    Three states (pending, fulfilled, rejected), one value or reason, and a guard so only the first resolve or reject counts; a throw inside the executor rejects.

  3. Queue the handlers

    While pending, push each then call's handlers into two arrays; on settlement, drain the arrays in order.

  4. Make then chain

    Each then creates a new promise; a handler's return value resolves it, a thrown error rejects it, and a missing handler passes the value or the reason through.

  5. Run callbacks asynchronously

    Schedule handler execution with queueMicrotask (or setTimeout if told to), even when the promise is already settled, so the ordering matches the native behaviour you were asked to predict.

  6. Test the edges

    Resolve twice, reject after resolve, throw in a handler, a then without handlers, a handler returning one of your own promises, and the output order against a native Promise.

Actionable preparation

A 7-day Shopee frontend interview preparation plan

Every day ends with code, a test, a written answer, or a question you can use in the real process.

  1. Day 1

    Event loop and promises: microtask and macrotask order, promise-chain output questions, setTimeout inside a var loop, catching errors with async/await.

    Deliverable: A Promise written without Promise, with a test list you can retype from memory.

  2. Day 2

    Handwritten utilities: a function cache keyed by arguments, flatten, deep clone, new, valid brackets, a publish-subscribe function.

    Deliverable: Six implementations with edge cases written as tests.

  3. Day 3

    React builds: the recursive multi-level hover menu, keys and one-way data flow, a class component moved to hooks, a component with data fetching.

    Deliverable: The hover menu with keyboard access and a note on where the open state lives.

  4. Day 4

    HTTP and security: an HTTP message for a POST response, strong versus negotiated caching with 200 and 304, cookie attributes, CSRF versus XSS, simple versus preflighted CORS requests, the HTTPS handshake, session versus cookie versus token.

    Deliverable: A one-page answer sheet with the status code or header named for each topic.

  5. Day 5

    CSS and the browser: specificity, three ways to centre, the position values, display none versus visibility hidden, managing CSS at scale, how the browser renders a page.

    Deliverable: The seven Taipei written-test questions answered in 90 minutes against a clock.

  6. Day 6

    Algorithms: sort and dedupe, string compression (elephant-walk to e6t-w2k), count the smaller elements, binary search, the intersection of two sets with sorting and two pointers or a hash map, reverse a linked list in groups of k.

    Deliverable: Solutions in JavaScript with the time complexity stated for each.

  7. Day 7

    Mock loop and behavioural: a two-hour frontend round narrated in parts, a CS-fundamentals round that starts from a system you built, a story about a colleague who held a different view.

    Deliverable: A list of the questions you will ask the recruiter about the language, the assessment, the rounds and the tools.

Preparation FAQ

Common Shopee frontend interview preparation questions

Are these the real Shopee questions?

No. They are FrontendAtlas practice versions modelled on rounds and tasks described in public, self-reported accounts and on Shopee's own hiring page. The wording, the data and the test cases are ours, and the quoted Chinese and Vietnamese phrases are the candidates' own words, glossed in English.

Which language is the interview in?

Mainland-China loops run in Chinese; the full-text accounts from there are written in Chinese about Chinese-language rounds. Singapore campus loops are reported in English by Taiwanese candidates: the 2022 account says its technical round was conducted entirely in English, and a 2021 platform-engineer account on PTT says its rounds were in English, while a commenter on that thread adds that a round may run in Chinese depending on the interviewer. The Vietnamese accounts do not say which language was used, and the Taipei written test mixes English and Chinese questions. Ask the recruiter.

Is there an online assessment?

Campus accounts describe one. Two Singapore campus loops in other tracks sat a proctored online assessment of 60 to 70 minutes, on Glider.ai in the accounts that name the platform: ten multiple-choice questions on operating systems and networking plus two array problems in 2022, and twenty-odd multiple-choice questions plus one LeetCode problem in 2021; campus accounts also describe a frontend variant with five JavaScript problems. In mainland China the reprinted campus posting lists a written test after the application and says some roles have none; the two social-hire accounts used here started with a technical interview. The 2025 Ho Chi Minh City loop had no assessment, and Taipei ran a 90-minute written test onsite instead. Confirm with the recruiter.

How much algorithm work is there?

The Singapore and mainland-China accounts put one or two LeetCode easy-to-medium problems in each technical round: a string-compression task in the 2020 Singapore campus first round, binary search, the intersection of two sets and quicksort in a 2021 campus first round, and reversing a linked list in groups of k in the 2022 social-hire round, whose feedback was "算法有待加强" (algorithms need strengthening). The 2025 Ho Chi Minh City round ended with one algorithm on mapping characters between two data sets. The Taipei candidate wrote that algorithms were hardly required ("對於演算法倒是不太要求"). Expect the handwritten utilities to count as much as the algorithms.

Is Shopee hiring frontend engineers right now?

On 21 October 2026 the Shopee job board listed no frontend-titled opening in Singapore or South-East Asia; its 80 Singapore engineering postings carried backend, graduate and intern titles, and the only frontend-titled roles were two full-stack Python and React positions in São Paulo. Mainland China hires frontend engineers through its campus cycle, whose 2027 posting appeared in April 2026. Check the board before you plan a week of preparation.

Public interview reports and official context

Sources and evidence limits

These links support the public context used by the guide. Their notes state what each source can and cannot establish about preparation. Most full-text accounts are from 2020 to 2022 and written in Chinese; the quotes above are glossed in English.

Public report: Viblo frontend engineer account, Ho Chi Minh City, February 2025

One self-reported Frontend Engineer loop at Shopee Vietnam in Ho Chi Minh City, published in February 2025 by a preparation course in the candidate's own words and ending in an offer. It establishes the HR call, the two-hour frontend round split into CSS, JavaScript, a React build and an algorithm, the CS-fundamentals round, the behavioural interview a week later and the offer a few days after the final conversation; it names no interview language and cannot establish the current format.

Public report: Juejin frontend interview record, mainland China, March 2020

One self-reported record of two mainland-China loops in March 2020, a seller-platform loop that ended at HR and a same-day supply-chain session that led to a job, with about sixty questions listed. It establishes the handwritten tasks (a function cache, flatten, deep clone, new), the promise output questions and the HTTP, caching and cookie questions of that year; the city is not stated and the loop is more than five years old.

Public report: Nowcoder frontend social-hire interview, mainland China, April 2022

One self-reported social-hire loop in April 2022 by a candidate with more than two years of experience in Guangdong: a digital-bank frontend first round that ended with "算法有待加强" (algorithms need strengthening), then a first and second round with a second department, which the account calls PFMS, that also ended in a rejection. It establishes the HTTP, caching, SameSite, CORS and cookie-safety questions, the k-group linked-list reversal and the function cache; it cannot establish the current format.

Public report: GoodJob frontend engineer written test and panels, Taipei, January 2021

One self-reported frontend engineer loop in Taipei in January 2021 by a candidate with four years of experience who heard nothing afterwards. It establishes the 30-minute HR call, the 90-minute onsite written test with its seven questions, the same-day panels with a product manager and a tech lead, the behavioural questions, and the candidate's view that algorithms were hardly required and communication mattered; it is one loop from 2021.

Public report: Nowcoder Singapore frontend campus first round, September 2020

One self-reported first round for a Singapore frontend campus role in September 2020, posted on Nowcoder in Chinese. It establishes the string-compression algorithm, the JavaScript versus CSS animation question, specificity, React keys, HTTPS and man-in-the-middle attacks, and session versus cookie versus token; it covers one round only.

Public report: Nowcoder frontend campus interviews, mainland China, July 2020

One self-reported mainland-China campus loop from July 2020 with a first and a second technical round. It establishes the process-versus-thread, XSS, CSRF, keep-alive and HTTP/2 questions, the event-loop puzzle, the thousands-separator task, and the second round's React, diffing, 304 and "a user reports a button that cannot be clicked" questions; it cannot establish the current campus format.

Public report: Nowcoder frontend campus first round, mainland China, March 2020

One self-reported 2020 spring campus first round in mainland China. It establishes the caching headers (If-None-Match and If-Modified-Since), the centring question, Vue basics, the promise-chain output and the count-the-smaller-elements algorithm; a Shopee frontend employee corrects the candidate's caching answer in the comments.

Public report: Medium backend campus loop, Singapore, April 2020

One Taiwanese new graduate's Singapore backend campus loop from spring 2020, read for the campus shape only: an application on 23 March, an HR call on 14 April, three technical rounds of 90, 90 and 60 minutes on a shared editor with a design-concept question in each, and a verbal offer on 28 April. It is not a frontend loop and names no frontend question.

Public report: Medium new-graduate backend loop, Singapore campus, January 2022

One Taiwanese new graduate's Singapore campus backend loop from January 2022, read for the campus shape only: a 70-minute online assessment with ten multiple-choice questions and two coding problems, one 90-minute technical round conducted entirely in English, and a rejection sixteen days after applying. It is not a frontend loop.

Shopee Careers: How we hire, read October 2026

Official page, read in Chrome on 21 October 2026. It lists five steps (Apply, Getting to Know You, Putting Your Skills to the Test, Meet the Hiring Manager, Preparing to Join Us) and answers that "The number of rounds varies depending on the role and seniority."; it names no frontend format or question.

Shopee China campus posting for frontend development engineers, 2027 cycle (reprint), April 2026

A reprint, on a third-party campus site, of a Shenzhen Shopee campus posting for 2027 frontend development engineers in Beijing, Shanghai and Shenzhen, posted in April 2026, with the process line "网申/内推 > 笔试(部分岗位不设笔试) > 2-3轮专业面试 > HR沟通 > Offer" (online application or referral, a written test that some roles skip, two to three technical rounds, an HR conversation, offer). The site states that it is a reprint; the line is the only official-origin frontend process description and applies to mainland China.

Published by Shopee

Official preparation pages from Shopee

Shopee publishes these pages itself. They describe the process and expectations in the company's own words; they do not list interview questions, and FrontendAtlas is not affiliated with Shopee.

PageWhat it coversChecked
How we hireShopee's five hiring steps: Apply; Getting to Know You (a conversation with a recruiter); Putting Your Skills to the Test (depending on the role, additional tasks or assessments such as a coding, technical or role-specific assessment); Meet the Hiring Manager (questions about experiences, hypothetical scenarios or role-specific cases); and Preparing to Join Us (the offer by phone or email). Its FAQ says the number of rounds varies depending on the role and seniority and that the recruiter shares the details.Oct 2026

Full company practice

Continue with the full Shopee practice set

This public guide is complete enough to plan a focused week. Premium unlocks the memoisation drill, the deep clone drill, the React nested comments tree and the wider premium library of coding, concept and system-design practice.

Unlock the full Shopee practice set