Allowed R6 · Within policy
{
"slug": "palindrome-check",
"title": "Palindrome Check",
"difficulty": "easy",
"tags": [
"coding",
"technical",
"swe"
],
"is_free": true,
"locked": false,
"frequency": 0.25,
"last_reported_at": "2025-09-17T17:14:11.468509Z",
"url": "https://www.mokabla.com/en/c/talabat/palindrome-check",
"agent": {
"page": "https://www.mokabla.com/agent/en/c/talabat/palindrome-check",
"question": "https://www.mokabla.com/agent/_call/get_question?company=talabat&question=palindrome-check"
},
"company": {
"slug": "talabat",
"name_en": "Talabat"
},
"body_md": "## What they ask\n\nA warm-up in the coding round: given a string, return whether it reads the same forwards and backwards. The interviewer then tightens it: ignore case, ignore non-alphanumeric characters, and do it without building a reversed copy.\n\nBecause this round is about how you work rather than the puzzle, they expect you to write a test first (they care about TDD), then the implementation, then refactor.\n\n## Examples\n\n- `\"level\"` returns `true`.\n- `\"Talabat\"` returns `false`.\n- `\"A man, a plan, a canal: Panama\"` returns `true` once punctuation and case are ignored.\n- `\"\"` returns `true`.\n\n## Constraints\n\n- Up to `10^5` characters.\n- O(n) time, O(1) extra space for the two-pointer version.\n\n## What they look for\n\n- Starting from tests, small commits, readable names.\n- Two pointers moving inward, skipping non-alphanumerics, comparing lowercase.\n- Asking clarifying questions (Unicode? whitespace?) before coding.\n- Talking through the second problem they add in the same session, typically sum of the two smallest numbers or moving zeros in an array.",
"follow_ups_md": "- Make it work on a stream where you cannot index backwards.\n- Count how many substrings of the input are palindromes.",
"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."
}