Frontend Technical Task
سؤال انترفيو في تروفلا (مصر) · المرحلة: اختبار أونلاين · المجال: برمجة وواجهات أمامية ونظرية الخوارزميات · الوظيفة: مهندس فرونت إند · الصعوبة: متوسط · اتسأل مرة واحدة، آخرها أكتوبر 2022
What they ask
The first stage for frontend roles in Cairo is a timed technical task of about an hour. It mixes fairly advanced data structure and algorithm problems with questions about frontend tooling (bundlers, package management, transpiling, how a React app is built and served). It is followed by an HR phone call where, among other things, you are asked to describe yourself in English.
Questions in this area, for example, on the coding side: you receive a navigation menu as a nested tree and must return a flat list of every item with its depth, in display order.
Example
Input:
[{"title": "Home", "children": []},
{"title": "Products", "children": [
{"title": "Auto", "children": [{"title": "Fleet", "children": []}]},
{"title": "Home Insurance", "children": []}]}]
Output: [["Home",0],["Products",0],["Auto",1],["Fleet",2],["Home Insurance",1]]
Tooling items in the same task, for example: what a bundler does and why tree shaking needs ES modules; what package-lock.json is for; the difference between dependencies and devDependencies; what happens between npm run build and the browser receiving JavaScript.
What they look for
- A correct recursive or explicit-stack traversal that preserves order, with attention to very deep trees.
- Clean, readable JavaScript; they read the code, not just the output.
- Practical tooling knowledge that shows you have shipped a frontend, not only written components.
- On the HR call: a fluent, structured self-introduction in English, since the team works with Canadian clients.