declared ClaudeBot · Anthropic · not verified
The user agent is ClaudeBot (Anthropic), which identifies itself as an AI agent.
Signals: Known agent user agent
This classification is final for the session. The human pages are not served to agents.
{
"question": {
"slug": "frontend-technical-task",
"title": "Frontend Technical Task",
"difficulty": "medium",
"tags": [
"coding",
"frontend",
"algorithms-theory",
"oa",
"role-frontend"
],
"is_free": true,
"locked": false,
"frequency": 0.25,
"last_reported_at": "2022-10-09T22:14:18.817750Z",
"url": "https://www.mokabla.com/en/c/trufla/frontend-technical-task",
"agent": {
"page": "https://www.mokabla.com/agent/en/c/trufla/frontend-technical-task",
"question": "https://www.mokabla.com/agent/_call/get_question?company=trufla&question=frontend-technical-task"
},
"company": {
"slug": "trufla",
"name_en": "Trufla"
},
"body_md": "## What they ask\nThe 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.\n\nQuestions 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.\n\n## Example\nInput:\n```json\n[{\"title\": \"Home\", \"children\": []},\n {\"title\": \"Products\", \"children\": [\n {\"title\": \"Auto\", \"children\": [{\"title\": \"Fleet\", \"children\": []}]},\n {\"title\": \"Home Insurance\", \"children\": []}]}]\n```\nOutput: `[[\"Home\",0],[\"Products\",0],[\"Auto\",1],[\"Fleet\",2],[\"Home Insurance\",1]]`\n\nTooling 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.\n\n## What they look for\n- A correct recursive or explicit-stack traversal that preserves order, with attention to very deep trees.\n- Clean, readable JavaScript; they read the code, not just the output.\n- Practical tooling knowledge that shows you have shipped a frontend, not only written components.\n- On the HR call: a fluent, structured self-introduction in English, since the team works with Canadian clients.",
"follow_ups_md": "- Do it without recursion.\n- How would you render this tree lazily if it had ten thousand nodes?"
},
"paid": false,
"access": "Question bodies are paid content: a person buys 30 days of access per company (200 EGP or 200 points) in the human app. Agents get titles, tags and difficulty; bodies only for free questions."
}
| action | input | permission | |
|---|---|---|---|
| get_question One question with its body. Bodies are paid content unless the question is free. | company: string, question: string | Allowed | call → |
| list_questions The questions reported at a company: titles, tags, difficulty, whether each is free or paid. | company: string, page: number? | Allowed | call → |
| buy_access Buy 30 days of access to a company. | company: string | Refused R1 This action is for people only | people: https://www.mokabla.com/en/pricing |
| post_comment Comment on a question. | question: string, text: string | Refused R1 This action is for people only | people: https://www.mokabla.com/en/companies |
Allowed actions answer in JSON. Add ?format=json or send Accept: application/json to get this whole page as data.