{
  "app": {
    "name": "Mokabla",
    "url": "https://www.mokabla.com",
    "description": "Real interview questions from companies in Egypt, organised by company. Access is sold per company for 30 days."
  },
  "page": {
    "kind": "question",
    "title": "Question · array-manipulation-online-test",
    "humanPath": "/en/c/itworx/array-manipulation-online-test",
    "humanOnly": false
  },
  "identity": {
    "class": "declared",
    "agent": "ClaudeBot",
    "operator": "Anthropic",
    "verified": false,
    "reason": "The user agent is ClaudeBot (Anthropic), which identifies itself as an AI agent.",
    "signals": [
      "Known agent user agent"
    ],
    "claimable": false
  },
  "state": {
    "question": {
      "slug": "array-manipulation-online-test",
      "title": "Array Manipulation Online Test",
      "difficulty": "medium",
      "tags": [
        "coding",
        "oa",
        "swe"
      ],
      "is_free": true,
      "locked": false,
      "frequency": 0.667,
      "last_reported_at": "2026-02-05T13:13:09.425840Z",
      "url": "https://www.mokabla.com/en/c/itworx/array-manipulation-online-test",
      "agent": {
        "page": "https://www.mokabla.com/agent/en/c/itworx/array-manipulation-online-test",
        "question": "https://www.mokabla.com/agent/_call/get_question?company=itworx&question=array-manipulation-online-test"
      },
      "company": {
        "slug": "itworx",
        "name_en": "ITWorx"
      },
      "body_md": "## What they ask\nBefore any human interview there is an online coding test with two or three medium problems. The themes reported are array manipulation and what candidates describe as API integration logic: you are handed data in the shape an API would return and asked to transform, merge or aggregate it. Questions in this area, for example:\n\n**Top customers.** Given an array of order records `{customerId, amount, status}`, return the `k` customers with the highest total of `completed` orders, highest first; break ties by the smaller `customerId`.\n\nExample: orders `[(1, 50, completed), (2, 80, completed), (1, 40, completed), (3, 500, cancelled)]`, `k = 2` gives `[1, 2]` (customer 1 has 90, customer 2 has 80, customer 3 has nothing completed).\n\n**Merging paginated pages.** Given several pages (arrays of items with `id` and `updatedAt`) fetched from a paginated endpoint, produce one list deduplicated by `id`, keeping the most recently updated copy, sorted by `id`.\n\nExample: page 1 `[{id: 7, updatedAt: 3}, {id: 2, updatedAt: 1}]`, page 2 `[{id: 7, updatedAt: 9}]` gives `[{id: 2, updatedAt: 1}, {id: 7, updatedAt: 9}]`.\n\n## Constraints\n- Up to 10^5 records per problem; an O(n log n) solution is fine, O(n^2) will time out.\n- Any language on the platform; most candidates use JavaScript or Python.\n\n## What they look for\nCorrect handling of edge cases (empty input, k larger than the number of customers, all orders cancelled) and code that reads cleanly. Nobody expects clever tricks at this stage.",
      "follow_ups_md": "- What if the orders arrive as a stream and you cannot hold them all in memory?\n- How would you change the dedupe step if `updatedAt` could be equal for two copies?"
    },
    "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."
  },
  "actions": [
    {
      "name": "get_question",
      "description": "One question with its body. Bodies are paid content unless the question is free.",
      "permission": "allow",
      "sideEffect": "read",
      "input": {
        "company": "string",
        "question": "string"
      },
      "href": "https://www.mokabla.com/agent/_call/get_question?company=itworx&question=array-manipulation-online-test",
      "ready": true,
      "missing": [],
      "humanPath": "https://www.mokabla.com/en/pricing"
    },
    {
      "name": "list_questions",
      "description": "The questions reported at a company: titles, tags, difficulty, whether each is free or paid.",
      "permission": "allow",
      "sideEffect": "read",
      "input": {
        "company": "string",
        "page": "number?"
      },
      "href": "https://www.mokabla.com/agent/_call/list_questions?company=itworx",
      "ready": true,
      "missing": []
    },
    {
      "name": "buy_access",
      "description": "Buy 30 days of access to a company.",
      "permission": "block",
      "reason": "This action is for people only",
      "ruleId": "R1",
      "sideEffect": "payment",
      "input": {
        "company": "string"
      },
      "href": "https://www.mokabla.com/agent/_call/buy_access?company=itworx",
      "ready": true,
      "missing": [],
      "humanPath": "https://www.mokabla.com/en/pricing"
    },
    {
      "name": "post_comment",
      "description": "Comment on a question.",
      "permission": "block",
      "reason": "This action is for people only",
      "ruleId": "R1",
      "sideEffect": "write",
      "input": {
        "question": "string",
        "text": "string"
      },
      "href": "https://www.mokabla.com/agent/_call/post_comment?question=array-manipulation-online-test",
      "ready": false,
      "missing": [
        "text"
      ],
      "humanPath": "https://www.mokabla.com/en/companies"
    }
  ],
  "navigate": [
    {
      "label": "This question, as data (free questions only)",
      "href": "https://www.mokabla.com/agent/_call/get_question?company=itworx&question=array-manipulation-online-test"
    },
    {
      "label": "All questions at this company",
      "href": "https://www.mokabla.com/agent/_call/list_questions?company=itworx"
    },
    {
      "label": "The company page",
      "href": "https://www.mokabla.com/agent/en/c/itworx"
    },
    {
      "label": "Array Manipulation Online Test · page",
      "href": "https://www.mokabla.com/agent/en/c/itworx/array-manipulation-online-test"
    }
  ],
  "notices": [
    {
      "severity": "info",
      "message": "This classification is final for the session: it came from a strong signal, not a guess. The human pages are not served to agents."
    },
    {
      "severity": "info",
      "message": "Unverified agents are read-only. Signed requests (Web Bot Auth) are the path to write access."
    }
  ],
  "meta": {
    "requestId": "ag_53795354f537",
    "policyVersion": "mokabla-2026-11-03",
    "generatedAt": "2026-11-03T18:38:59.862Z",
    "jsonUrl": "https://www.mokabla.com/agent/en/c/itworx/array-manipulation-online-test?format=json",
    "manifestUrl": "https://www.mokabla.com/.well-known/agentgate.json",
    "humanUrl": "https://www.mokabla.com/en/c/itworx/array-manipulation-online-test",
    "humanClaimUrl": "https://www.mokabla.com/agent/_claim/human?to=%2Fen%2Fc%2Fitworx%2Farray-manipulation-online-test"
  }
}