Pull to refresh
31
0

Senior .Net Developer

Send message

Я почти такую операцию провёл с десятком детских игрушек. Среди разработчиков интерактивных игрушек почему-то принято (даже при наличии штатных кнопок настройки громкости) включать игрушку сразу на максимальной громкости.

Разбирал и впаивал резисторы.

Тротуарная плитка - внезапно, сделана из того же бетона.

Я здесь говорил о собеседовании технического директора.
Само собой, когда я собеседую разработчиков, то и перечень вопросов гораздо более формальный, и задача на программирование в плане интервью присутствует.
Базовое знание о программировании необязательно проверять знанием алгоритмов и умением писать код.
К примеру один из нанятых менеджеров на интервью сходу настолько глубоко полез в поиск граничных условий предложенной задачи, что с расстояния в километр было понятно — у него явно в бэкграунде солидный опыт программирования и отличное понимание того, что собой представляет правильно сформулированное техническое задание. При этом ни строчки кода написано не было — человек своими словами детализировал ТЗ и показал на пальцах как бы он его решал.
Большего и не требуется.
При этом задача была достаточно реалистична и приближена к жизни — не алгоритм сортировки пузырьком.
Оценивается общий технический уровень. Незнание некоторых нюансов стоп-фактором не является. Выявляются сильные и слабые стороны, общее понимание процессов в разработке.
Ну и, опять же, оговорка «не является определяющим» — это маленькая ложь. Кандидату проще расслабиться, если он понимает, что незнание ответов на некоторые вопросы не поставит крест на всём интервью.
Мне кажется, что в таких собеседованиях многое решает вступление.
Проводил пару десятков интервью на руководящие должности. Точнее техническое собеседование — один из нескольких этапов.
В самом начале интервью делаю небольшое вступление. Говорю, что будет техническое интервью. Задача интервью — скрининг технических знаний по ключевым для нас технологиям и понятиям. Предупреждаю о том, что уровень вопросов может варьировать от оскоробительно простых до слишком сложных, но роль данного интервью не основополагающая для занятия данной позиции, поэтому нет ничего страшного, если кандидат не ответит на вопрос о том какие бывают уровни рейд-массивов или не знает как можно забэкапить файл, залоченный операционкой на чтение.
Задача кандидатам на менеджерские позиции даётся, но кодирования не требуется — просто прошу устно рассказать как её решать, на пальцах, не вдаваясь в детали.

Не слишком высокий технический уровень не является стоп-фактором для таких позиций (хотя все нанятые люди имеют высокий уровень). Но самый простой способ завалить техническое интервью со мной — написать подробнейшее резюме (хоть сейчас бери разработчиком) и полное отсуствие знаний по базовым вещам. Когда CV впечатляет намного больше, чем кандидат — однозначный стоп.
По моему опыту очень мало кандидатов вообще в принципе помнят методы доступа к файловой системе. Даже те самые банальные Directory.GetFiles в последнее время начал сразу выносить в шпаргалку, дабы не тратить время. Куда уж тут ленивым методам.
Я в конце-концов не требую знания библиотечных функций, а просто проверяю способность справляться с хитрыми ситуациями.
Что касается рекурсии — последние лет 20 избегаю рекурсивного алгоритма при обходе дерева файловой системы. Предпочитаю нерекурсивный вариант со стеком.
Так и максимальную глубину вложенности можно ограничить, и сигнатура метода становится гораздо проще — не требуется постоянно передавать накапливаемые параметры на каждом уровне вложенности. И легко превратить такой метод в IEnumerable, навернув внутрь фильтрацию, пакетирование и прочее.
Но такого варианта, увы, пока ни один кандидат не предложил.
Что касается ООМ — несколько кейсов за последние 7 лет было. Почти все связаны именно со списками путей, но тут вы правы — это именно наша специфика.
Ну если умника не тормознёт настолько тонкий намёк, то баллов за тестовое задание он не получит.
Перед заданием я предупреждаю, что нежелателен уход метода в нирвану на неопределённое время без репорта. А рекурсивное получение всего списка файлов одной командой — верный способ надолго заблокировать поток выполнения. Конечно, после выполнения Directory.GetFiles() вы начнёте репортить о прогрессе, но на реальных системах с миллионами файлов пока вы дойдёте от получения суммарного списка файлов до построчного выяснения их размеров — могут пройти минуты, если не больше.
Кроме того, если я чему и научился на текущем проекте (мы бэкапами занимаемся), так это правилу «ищешь перерасход памяти — ищи подвисший список путей». 9 из 10 OutOfMemoryException — это неудачно сохранённая в памяти коллекция абсолютных путей.
А вы её хотите одним куском получить.
В общем, как я сказал — с виду это простая задачка, но в неё только копни…
А это мы ещё не трогали потенциально возможное зацикливание папок через хардлинки (реальный кейс из продакшена) и другие прелести.

Если говорить о реальных собеседованиях — лишь один кандидат после моего вступления с пожеланиями тут же их проигнорировал и начал писать в одну строку.
Обычно люди намёк понимают.
Я две вот таких взял.
Примерно то же самое, но в комплекте ещё проводной пульт — очень удобно. Вся паутина проводов под столом, а на столе только маленький кругляшок пульта на тоненьком проводе.
Ох Святой Эйнштейн… Я-то считал себя извергом, давая кандидатам относительно хитрый алгоритм на подсчёт суммарного размера файлов внутри заданной папки с периодическим возвратом прогресса в коллбек (дабы тормознуть умников, пишущих однострочную лямбду типа Directory.GetFiles(path, recursive).Summ(item=>new FileInfo(item).Lenght).
На задание даю 10-15 минут (т.к. это — только часть интервью), и из многих десятков кандидатов только пара человек уложились в таймаут и смогли выдать условно рабочее решение. Несправившиеся условно делятся на две группы — первые тонут в трясине хаотичных правок уже написанного кода, вторые начинают писать монстра на десяток (я не шучу) дополнительных вложенных методов и просто не успевают написать ничего вразумительного.
Через 10 минут напоминаю о том, что на задание выделено ограниченное время, иначе не успеем закончить собеседование, ещё через 5 минут останавливаю и прошу устно рассказать чего здесь ещё не хватает для того, чтобы решение заработало. Потом код-ревью с обсуждением плюсов/минусов выбранного подхода.
Этого времени уже достаточно для того, чтобы понять способность человека писать код.
А тут такие простыни кода, что меня прямо в дрожь бросает. Прекрасный способ дать кандидату почувствовать себя ничтожеством.
Совершенно верно. У меня стояла задача поделить два монитора и 4 USB усройства (мышь, клавиатура, вебка и приёмник для гарнитуры) между двумя девайсами (домашний комп и рабочий ноут). Купил у китайцев два KVM по $18 за штуку. Каждый KVM коммутирует 2 HDMI и 2 USB. Самая большая сложность вышла с мониторами — пришлось продумать кабели, т.к. возник разнобой с Display Port на ПК и Display Port на одном из мониторов, но в итоге всё получилось.
У KVM есть проводные пульты с кнопкой и индикацией текущего режима. Сами KVM спрятаны под столом, пульты вынесены на стол.
Работает просто превосходно, и по цене вполне демократично. Пытался найти вариант с одним большим KVM, но такие девайсы и дороже, и по описанию не слишком понятно смогут ли они работать в нужном мне режиме коммутации. Да и наличие двух переключателей даёт дополнительную гибкость — при необходимости я могу отдать ноутбуку только один монитор и клаву с мышью.
Настроен стандартно, по какому-то туториалу (каждый раз искал с нуля).
Повторил настройку на разных малинках дважды — результат идентичен.
Может быть у вас сеть слабенькая, или задания тяжёлые.
Драйвер брал отсюда.
sudo apt-get install hpijs-ppds printer-driver-hpijs
Есть обоснованная версия, что причиной этому может быть та самая знаменитая сверхбыстрая стыковка «Союза». Для обеспечения гарантированной встречи корабля и станции, орбиту станции приходится немного корректировать. Делается это при помощи двигателей «Прогресса», пристыкованного к российской части МКС.
Переходный модуль испытывает нагрузку.
Повторяющиеся циклы стыковок могли нарушить целостность переходного модуля.
Ну это что-то совсем экзотическое.
Что я точно пробовал — читал ветки со стенаниями таких же пострадавших, как и я.
Пробовал продать принтер и купить что посвежее. Ждал.
Не прошло и девять месяцев, как HP родил драйвер.
Ох я помню у меня бомбило после выхода Windows 8.
HP выпустил универсальный драйвер под восьмёрку, но этот драйвер поддерживал только относительно свежие принтеры, а мой, пусть довольно старый, но всё ещё прекрасно работающий HP p1005, стоял на столе мёртвым грузом.
Кстати, способов заставить эти принтеры работать так и не нашлось. Ни заставить их работать через универсальный драйвер, ни установить старый драйвер на новую ОС. Ни режим совместимости — ничего не помогало.
Владельцы тех принтеров, которые не покрывались драйвером, постепенно проходили через все стадии от отрицания до принятия. Мы писали в поддержку, заводили бесконечные треды на разных ресурсах и потребовалось довольно много времени, прежде чем HP признал проблему. Признал и попросил подождать, ибо какие-то срочные дела были и драйвер под старые принтеры был по приоритету где-то в самом низу бэклога.
Сколько можно ждать драйвер? Винда вышла в конце осени, а драйвер появился в середине лета.
Поддерживаю.
Старшая дочка-третьеклашка, плюс репетиторы. Стабильно приходится печатать учебные материалы.
Принтер довольно (может даже слишком довольно) старый HP из середины нулевых.
Работает — да и ладно.
Так вот, последние несколько месяцев стал замечать проблемы с очередью печати.
От старшей приходит запрос «нужно распечатать», я отправляю в печать и глухой висяк. Ни манипуляции с очередью печати, ни перезапуск служб — ничего не помогает, окромя ребута. Документы в очереди накапливаются и пока не перезагрузишь винду — попытки печати безуспешны.
А у меня на компе рабочее окружение, и ребут — это 10-15 минут на восстановление среды.
Помогла Raspberry Pi + Cups. В запасе оказалась свободная малинка, благодаря которой старичок HP p1005 был преобразован в сетевой принтер.
Никаких проблем с печатью, никаких висящих в очереди документов.
Отправка в печать и принтер оживает, как мне кажется, быстрее, чем в те времена, когда он был подключён к компу по USB.
Несколько месяцев назад купил десятка три упаковок спотов. У меня по квартире много точечных ламп. Изначально там стояли галогенки и лет через 6 они начали массово выгорать, поэтому заменил все на Аро, и ещё много осталось в резерве на замену и ремонт в ещё двух комнатах.
Долго искал хорошие надёжные споты с узким углом и Аро в этом смысле меня очень радуют.
За несколько месяцев ещё ни одна не отказала. Свет приятный, линза даёт хороший концентрированный пучок. Несколько раз пробовал найти альтернативу галогенкам по пучку рассеивания, дабы избежать плоского света. Эти споты ничем не хуже галогенок.
Беспроводная гарнитура с поднимающимся для отключения микрофоном — тоже.
Для себя решил задачу именно так.
Речь, скорее всего, не о Linux.
На марсоходе много прикладного ПО и за время полёта его доработку не прекращают. Фиксятся баги, дорабатывается функционал.
И что? Речь не о перегреве камеры. Речь о перегреве матрицы, и для неё не имеет значения — пишут с неё видео, либо же просто транслируют по HDMI.
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity