Скриншот не очень интересно, но всё равно не откажусь :)
Просто я сейчас работаю на SL, и все серьёзные/коммерческие продукты вызывают интерес — как сделано, насколько хорошо работает, итп. XAP раздербанить и в рефлекторе посмотреть.
Посадить за машину и дать небольшую задачу. Сразу будет виден и ход мысли, и стиль кодирования, и скорость.
Только задачу практическую, а не алгоритм сортировки. Кстати, тестовые задания мне неплохие попадались, но их присылали по почте, а уж после приглашали на беседу. Тоже хороший подход, но скорость не оценить, да и помочь кандидату кто-нибудь может.
Как правильно сказал интервьюер Dehumanizerа в каменте выше — для обычной программерской работы нужен практический человек. Который умеет писать код, который этого кода написал уже туеву хучу, видит заранее возможные места ошибок, знает свой язык/фреймворк как пять пальцев.
Но реально бесит эта ситуация. 70% собеседований одинаковые. Любого дурака можно научить типовым задачам, алгоритмам и структурам данных и он сможет проходить интервью на уровень Senior Developer.
Какое эта сраная сортировка имеет отношение к моему умению быстро писать качественный код? Чем они думают, эти интервьюеры?
В условии первой задачи очепятка, не 13, а 19.
Решение в лоб (C#, LinqPad): var n = 1938;
var s = n.ToString();
var l = s.Length;
Enumerable.Range(0, l)
.SelectMany(x => Enumerable.Range(1, l - x).Select(i => int.Parse(s.Substring(x, i))))
.Where(i => i != n && n%i == 0)
.Dump();
Если не секрет, какой у автора стаж разработки за деньги? Хотелось бы всё же увидеть примеры кода. В статье много спорных утверждений. К тому же, уровень владения русским языком и стилистика текста наводят на мысли.
>Если вы дебажите свой код, который только что написали, что-то пошло не так
Это почему? Я реализовал обработку сложной бизнес-логики, три метода по пол-экрана, и хочу увидеть вживую, всё ли происходит, как задумано — что у меня пошло не так?
Отличная статья. Я полностью согласен.
Конечно, сферическая команда в вакууме содержит в себе проектировщиков, дизайнеров, юзабилистов. Но на практике всё не так. Мы работаем на крупного заказчика, тем не менее, никого из перечисленных специалистов в штате нет. Многие члены команды так или иначе сталкиваются с UI. И не все даже способны кнопки ровно выставить на форме. Человек просто не видит, где и что нужно выровнять. Нету чувства прекрасного, или что ещё. Я уж не говорю таких вещах, как та, что нажатие на лейбл чекбокса должно его переключать. Так что я пользуюсь авторитетом человека, который может привести UI в порядок. И стараюсь в себе эти навыки развивать. Они действительно ценятся.
Хуже всего, когда люди открещиваются от необходимости знаний, как это делает юзер Zamorozka выше по тексту. Хороший разработчик должен понимать работу системы от начала и до конца. От градиента на кнопочке до машинных команд.
Вроде менеджер даже сам программист, но он зачастую ставит задачи односложно, и приходится из него все детали по одной вытаскивать, на что уходит время. То ли он думает, что нам (разработчикам) всё очевидно должно быть, то ли хрен его знает. Не раз уже просили сразу давать развёрнутые спецификации — что и как должно быть сделано.
Мне повезло на новых проектах работать, поэтому говнокода нету, но всё в идеале поддерживать не получается, потому что сроки очень сжатые. А вот у коллег на старых проектах весь букет радостей — гигантские классы, которые делают всё, методы на десять экранов итд.
Очень много воды и очевидных вещей. Вот в конце хорошие тезисы перечислены. Если бы статья последовательно раскрывала бы каждый из них, было бы лучше, мне кажется. А так всё как-то намешано.
Просто я сейчас работаю на SL, и все серьёзные/коммерческие продукты вызывают интерес — как сделано, насколько хорошо работает, итп. XAP раздербанить и в рефлекторе посмотреть.
(Посмотрел Audi — нету первого Allroad, зато есть вымышленная A4 1.8T R6, итд)
Только задачу практическую, а не алгоритм сортировки. Кстати, тестовые задания мне неплохие попадались, но их присылали по почте, а уж после приглашали на беседу. Тоже хороший подход, но скорость не оценить, да и помочь кандидату кто-нибудь может.
Как правильно сказал интервьюер Dehumanizerа в каменте выше — для обычной программерской работы нужен практический человек. Который умеет писать код, который этого кода написал уже туеву хучу, видит заранее возможные места ошибок, знает свой язык/фреймворк как пять пальцев.
Но реально бесит эта ситуация. 70% собеседований одинаковые. Любого дурака можно научить типовым задачам, алгоритмам и структурам данных и он сможет проходить интервью на уровень Senior Developer.
Какое эта сраная сортировка имеет отношение к моему умению быстро писать качественный код? Чем они думают, эти интервьюеры?
var src = new[] { "0110", "0000", "0001", "0000" };
Func<int, int> getRating = null;
getRating = index => src[index].OfType<Char>().Select((c, i) => c == '1' ? getRating(i) : 0).Sum() + 1;
src.Select((s, i) => getRating(i)).Sum().Dump();
var src = new[] { «0110», «0000», «0001», «0000» };
Func<int, int> getRating = null;
getRating = index => src[index].OfType().Select((c, i) => c == '1'? getRating(i): 0).Sum() + 1;
src.Select((s, i) => getRating(i)).Sum().Dump();
Решение в лоб (C#, LinqPad):
var n = 1938;
var s = n.ToString();
var l = s.Length;
Enumerable.Range(0, l)
.SelectMany(x => Enumerable.Range(1, l - x).Select(i => int.Parse(s.Substring(x, i))))
.Where(i => i != n && n%i == 0)
.Dump();
>Если вы дебажите свой код, который только что написали, что-то пошло не так
Это почему? Я реализовал обработку сложной бизнес-логики, три метода по пол-экрана, и хочу увидеть вживую, всё ли происходит, как задумано — что у меня пошло не так?
Позволяет вовремя апдейтиться, и держать «руку на пульсе» проекта, за который я несу ответственность.
ping 8.8.8.8
Конечно, сферическая команда в вакууме содержит в себе проектировщиков, дизайнеров, юзабилистов. Но на практике всё не так. Мы работаем на крупного заказчика, тем не менее, никого из перечисленных специалистов в штате нет. Многие члены команды так или иначе сталкиваются с UI. И не все даже способны кнопки ровно выставить на форме. Человек просто не видит, где и что нужно выровнять. Нету чувства прекрасного, или что ещё. Я уж не говорю таких вещах, как та, что нажатие на лейбл чекбокса должно его переключать. Так что я пользуюсь авторитетом человека, который может привести UI в порядок. И стараюсь в себе эти навыки развивать. Они действительно ценятся.
Хуже всего, когда люди открещиваются от необходимости знаний, как это делает юзер Zamorozka выше по тексту. Хороший разработчик должен понимать работу системы от начала и до конца. От градиента на кнопочке до машинных команд.
30%
Вроде менеджер даже сам программист, но он зачастую ставит задачи односложно, и приходится из него все детали по одной вытаскивать, на что уходит время. То ли он думает, что нам (разработчикам) всё очевидно должно быть, то ли хрен его знает. Не раз уже просили сразу давать развёрнутые спецификации — что и как должно быть сделано.
По-моему, просто отличный сервис. Очень много всего находит. Пробовал книжки искать, музыку не слишком популярную — много результатов.