Племя незнакомое
Oct. 28th, 2014 12:15 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я как-то уже писал, но найти не могу, истории о людях, приходящих на интервью. Часто просто поверить невозможно, какие персонажи приходят и какие ... ммм... своеобразные идеи они иногда высказывают.
Например, я писал про женщину, которую я попросил написать алгоритм определения, является ли число простым.
http://igorbor.dreamwidth.org/13712.html
Пришла однажды тетка устраиваться на работу. Судя по ее рассказам и резюме, был у нее вполне солидный опыт в программировании. Говорила она, что предпочитает работу, связанную по возможности с разработкой всяческих хитрых алгоритмов. И попросил я ее набросать мне алгоритм для определения того, является ли число простым или нет. (Задачка эта чем мне нравится - что там можно много всяческих оптимизаций придумать. Скажем, если человек в лоб делит на все предыдущие числа - это одно. Если четные пропускает - уже лучше. Если останавливается на половине - это уже что-то, а если додумывается до корня квадратного - то просто атас.)
Сначала она спросила меня, что такое простое число. Ну ладно, думаю, может быть, она образование получала не в России (мы с ней на русском разговаривали), и, соответственно, определение знает на английском или там на каком еще языке. Простое число, говорю, это число, которое делится только на себя, ну и на единицу, понятно. Вот 2, скажем - простое, а 4 - непростое. Понятно? - спрашиваю. Конечно, говорит, понятно. А делать-то, спрашивает, чего надо?
Напишите мне, говорю, алгоритм, который бы позволил для любого числа определить - простое оно или нет? И обьясняю для наглядности - вот, скажем, про 2, 3 и 4 я знаю, а вот, скажем, 37? Вот и придумайте алгоритм, который бы позволил определить, является ли число 37 простым или нет. Можете, говорю, блок-схемы рисовать, можете на псевдокоде - что Вам удобнее. Бумага-карандаш у Вас есть? не буду мешать, говорю, 15 минут Вам хватит? Да, говорит, хватит. Спасибо.
Пошел, кофе выпил, сигарету выкурил. Возвращаюсь, спрашиваю: готово? Еще пять минут, говорит.
Хорошо. Пошел, потрепался с мужиками. Возвращаюсь еще минут через 10. Готово?
Да, говорит. Готово. Является.
Честно говоря, я думал, что после этого меня уже вряд ли что-то сможет удивить.
Но недавно пришел кандидат, который заткнул эту женщину за пояс одной левой. Я попросил его сделать то же самое (число 37 я больше не озвучивал, опасаясь). Он уточнил, что конкретно мне нужно - алгоритм, программу, блок-схему?.. Я сказал, что мне все равно, и он сказал, что сделает мне блок-схему. Я дал ему время и вышел.
Вернувшись, я увидел очень аккуратно, я бы даже сказал, артистично нарисованную блок-схему, по всем правилам, с треугольничками, ромбиками и т.д., изображающую непростой процесс определия простоты числа.
Я не художник, поэтому рисовать здесь не буду, я своими словами перескажу:
1. Проверить, делится ли число на 1. Если да - продолжить.
2. Проверить, делится ли число на самого себя. Если да - продолжить.
...
Например, я писал про женщину, которую я попросил написать алгоритм определения, является ли число простым.
http://igorbor.dreamwidth.org/13712.html
Пришла однажды тетка устраиваться на работу. Судя по ее рассказам и резюме, был у нее вполне солидный опыт в программировании. Говорила она, что предпочитает работу, связанную по возможности с разработкой всяческих хитрых алгоритмов. И попросил я ее набросать мне алгоритм для определения того, является ли число простым или нет. (Задачка эта чем мне нравится - что там можно много всяческих оптимизаций придумать. Скажем, если человек в лоб делит на все предыдущие числа - это одно. Если четные пропускает - уже лучше. Если останавливается на половине - это уже что-то, а если додумывается до корня квадратного - то просто атас.)
Сначала она спросила меня, что такое простое число. Ну ладно, думаю, может быть, она образование получала не в России (мы с ней на русском разговаривали), и, соответственно, определение знает на английском или там на каком еще языке. Простое число, говорю, это число, которое делится только на себя, ну и на единицу, понятно. Вот 2, скажем - простое, а 4 - непростое. Понятно? - спрашиваю. Конечно, говорит, понятно. А делать-то, спрашивает, чего надо?
Напишите мне, говорю, алгоритм, который бы позволил для любого числа определить - простое оно или нет? И обьясняю для наглядности - вот, скажем, про 2, 3 и 4 я знаю, а вот, скажем, 37? Вот и придумайте алгоритм, который бы позволил определить, является ли число 37 простым или нет. Можете, говорю, блок-схемы рисовать, можете на псевдокоде - что Вам удобнее. Бумага-карандаш у Вас есть? не буду мешать, говорю, 15 минут Вам хватит? Да, говорит, хватит. Спасибо.
Пошел, кофе выпил, сигарету выкурил. Возвращаюсь, спрашиваю: готово? Еще пять минут, говорит.
Хорошо. Пошел, потрепался с мужиками. Возвращаюсь еще минут через 10. Готово?
Да, говорит. Готово. Является.
Честно говоря, я думал, что после этого меня уже вряд ли что-то сможет удивить.
Но недавно пришел кандидат, который заткнул эту женщину за пояс одной левой. Я попросил его сделать то же самое (число 37 я больше не озвучивал, опасаясь). Он уточнил, что конкретно мне нужно - алгоритм, программу, блок-схему?.. Я сказал, что мне все равно, и он сказал, что сделает мне блок-схему. Я дал ему время и вышел.
Вернувшись, я увидел очень аккуратно, я бы даже сказал, артистично нарисованную блок-схему, по всем правилам, с треугольничками, ромбиками и т.д., изображающую непростой процесс определия простоты числа.
Я не художник, поэтому рисовать здесь не буду, я своими словами перескажу:
1. Проверить, делится ли число на 1. Если да - продолжить.
2. Проверить, делится ли число на самого себя. Если да - продолжить.
...