Страница 8 из 17

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

Добавлено: Пн окт 10, 2016 3:59 pm
ra0ued
Я думал там сразу будет фотка с мобилъного телефона в падении )

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

Добавлено: Пт окт 28, 2016 11:54 am
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 КБ) 5703 просмотра
Что дало линейное время выполнение для любой шестисимвольной последовательности. И ОЧЕНЬ БЫСТРО )))
Отправил решение, получил ответ - "Ваше решение неверно". Даже блядь не "Мы вам перезвоним". Просто без объяснения - "НЕВЕРНО" БЛЯДЬ
:oops: FUUUUUUUUUUU

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

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

Добавлено: Пт окт 28, 2016 3:18 pm
ra0ued
Там видимо требоваласъ именно работа с самим числом Пи.
Если уж совсем с ума сходитъ, бы твой вариант распарсил в ассоциативный массив, правда строк. Тогда было бы еще быстрее, просто вызов

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

return numbersArray['123456'];

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено: Вт мар 21, 2017 3:38 pm
arxont
"Сделайте калькулятор" :mrgreen:

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

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

Добавлено: Пн апр 03, 2017 8:30 pm
arxont
Реализовать с помощью https://tracking.pochta.ru/specification приложение получающее по номеру трекинга текущее состояние посылки.

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

Добавлено: Пн апр 10, 2017 6:05 pm
hades
Приложение, которое открывает вебстраницу на телефоне? :lol: