Вопросы для собеседования.

Разговоры на любые темы
Аватара пользователя
ra0ued
Сообщения: 2080
Зарегистрирован: Чт авг 30, 2012 2:54 pm
Откуда: zabtech.ru
Контактная информация:

Re: Вопросы для собеседования.

Сообщение ra0ued »

Я думал там сразу будет фотка с мобилъного телефона в падении )

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

Решал тут на днях очередную тестовую задачу
Возьмите последние 6 последних чисел вашего телефона, или номер паспорта, или любые другие 6 чисел ассоциирующихся именно с вами (айди вк, дата рождения в формате ddmmhh). Далее в тестовой программе вы подаёте их в качестве параметра для функции, которая должна вернуть вам номер где встречается эта последовательность в числе Пи впервые.
Пример 1: на вход "592653", должно вернуть "4",
Пример 2: на вход "979323", должно вернуть "12"

Требования к программе:
1) Скорость выполнения - не более чем 5 секунд на любую шестисимвольную последовательность (функция должна быть обёрнута в stopWatch).
2) Должны быть тесты.
Решил не парится и сделал парсер, который делал запрос к http://www.angio.net/pi/bigpi.cgi и дёргал номер оттуда :) Можно было на этом и остановиться. НО мне не нравилось данное решение тем, что а) требует интернет, б) задержки конечно меньше 5 секунд, но всё равно долго ИМХО. Поэтому написал быстренько цикл который делал следующие -
Кидал запрос на этот сайт
Записывал в файл строку

Код: Выделить всё

case 000000: return 1699927;
и всё это в цикле от 000000 до 999999 :) За пару часов спарсил всё и получил дичайший файл вида
Снимок.PNG
Снимок.PNG (5.26 КБ) 3668 просмотров
Что дало линейное время выполнение для любой шестисимвольной последовательности. И ОЧЕНЬ БЫСТРО )))
Отправил решение, получил ответ - "Ваше решение неверно". Даже блядь не "Мы вам перезвоним". Просто без объяснения - "НЕВЕРНО" БЛЯДЬ
:oops: FUUUUUUUUUUU

PS: Про китайский кодинг знаю :)
PS2: Про dictionary тоже знаю, но оно тут сильно бы не улучшило код.
Киберпанк не умер. Он просто наступил.

Аватара пользователя
ra0ued
Сообщения: 2080
Зарегистрирован: Чт авг 30, 2012 2:54 pm
Откуда: zabtech.ru
Контактная информация:

Re: Вопросы для собеседования.

Сообщение ra0ued »

Там видимо требоваласъ именно работа с самим числом Пи.
Если уж совсем с ума сходитъ, бы твой вариант распарсил в ассоциативный массив, правда строк. Тогда было бы еще быстрее, просто вызов

Код: Выделить всё

return numbersArray['123456'];

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

spyON писал(а):Там видимо требоваласъ именно работа с самим числом Пи.
Если уж совсем с ума сходитъ, бы твой вариант распарсил в ассоциативный массив, правда строк. Тогда было бы еще быстрее, просто вызов

Код: Выделить всё

return numbersArray['123456'];
Можно было и так сделать. Но массив всё равно надо же заполнять ))) Так что не сильно была бы экономия. (ну и в шарпе это и называется dictionary, я про это в PS2 писал)

Если уж делать похардкору, то я бы сделал ОЧЕНЬ быстрый расчёт, с использованием всяких MMX-SSE и прочей магии. И складировать всё в кэш через system runtime caching.
Но если это требуется, то имхо надо указывать это в требованиях. Да и для текущего условия это будет дичайший оверинжиринг. Что тоже можно записать в минусы. KISS же.
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

Есть список IP-адресов http://www.team-cymru.org/Services/Bogo ... nonagg.txt
Написать функцию которая будет проверять IP-адрес поданный на вход функции на то, входит ли он в список или нет. (может подаваться как просто IP-адрес, так и в CIDR-нотации, во втором случае любой из IP-адресов не должен входить в список)
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

Реализовать самораспаковывающийся архив.
1. Тип - exe
2. При старте спрашивает папку в которую распаковать
3. Сжатие любое, но должно присутствовать
Программа должна уметь создавать архив из произвольного количества папок и файлов.
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

С последнего собеседования забавная задача -
Реализуйте таймер помодоро https://ru.wikipedia.org/wiki/Помидор_(метод) . Срок 4 часа.
Спросил про какие-нибудь требования, что должно быть, чего не надо -
Никаких требований, описаний, референсов, ограничений в библиотеках и компонентах нет, реализовывайте всё что хотите. Важно чтобы в срок вы могли сбросить рабочую программу и исходники.
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

"Сделайте калькулятор" :mrgreen:

PS: Провалил очень эпично - взял тупо готовый модуль http://wpftoolkit.codeplex.com/wikipage ... Title=Home и загнал его на форму. Отправил -
"- Вы не прошли, надо было сделать полностью самостоятельно
- Но такого же требования не было указано (что нельзя использовать сторонние библиотеки)
- надо было догадаться"
Ну и радостно, что не прошел ))) А то с таким подходом мы бы явно не сработались.
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

Реализовать с помощью https://tracking.pochta.ru/specification приложение получающее по номеру трекинга текущее состояние посылки.
Киберпанк не умер. Он просто наступил.

Аватара пользователя
hades
Сообщения: 453
Зарегистрирован: Чт окт 11, 2012 11:30 am
Откуда: https://www.tabatoune.com/test
Контактная информация:

Re: Вопросы для собеседования.

Сообщение hades »

Приложение, которое открывает вебстраницу на телефоне? :lol:

Ответить