Відповідь на це питання полягає в тому, що "це неможливо". Більш конкретно, інтерв’юер цікавиться, чи звернули ви увагу на уроці теорії обчислень.
На уроці обчислювальної теорії ви дізналися про кінцеві автомати. Кінцевий автомат складається з вузлів і ребер. Кожне ребро коментується літерою з кінцевого алфавіту. Один або декілька вузлів є спеціальними "приймаючими" вузлами, а один вузол є "стартовим" вузлом. Оскільки кожна буква читається з даного слова, ми проходимо через даний край у машині. Якщо ми опиняємося в стані прийняття, ми говоримо, що машина "приймає" це слово.
Регулярний вираз завжди можна перевести в еквівалентний кінцевий автомат. Тобто той, який приймає та відкидає ті самі слова, що й регулярний вираз (у реальному світі деякі мови регулярних виразів дозволяють використовувати довільні функції, вони не враховуються).
Неможливо побудувати кінцевий автомат, який приймає всі паліндроми. Доказ покладається на факти, що ми можемо легко побудувати рядок, що вимагає довільно великої кількості вузлів, а саме рядок
a ^ xba ^ x (напр., aba, aabaa, aaabaaa, aaaabaaaa, ....)
де a ^ x - повторене x разів. Для цього потрібно принаймні x вузлів, тому що, побачивши 'b', ми маємо відрахувати x разів, щоб переконатися, що це паліндром.
Нарешті, повертаючись до початкового питання, ви можете сказати інтерв'юеру, що можете написати регулярний вираз, який приймає всі паліндроми, менші за деяку кінцеву фіксовану довжину. Якщо коли-небудь існує реальний додаток, який вимагає ідентифікації паліндромів, тоді він майже напевно не включатиме довільно довгі, тому ця відповідь покаже, що ви можете диференціювати теоретичні неможливості від реальних програм. Тим не менше, фактичний регулярний вираз був би досить довгим, набагато довшим, ніж еквівалентна 4-рядкова програма (легка вправа для читача: написати програму, яка ідентифікує паліндроми).