Сообщение Re[4]: Тестовое задание ... от 14.06.2015 12:10
Изменено 14.06.2015 12:23 Геннадий Васильев
Здравствуйте, Selavi, Вы писали:
S>Ну мне кажется, что Вы преувеличиваете насчет банальных и давно устоявшихся.
Может и преувеличиваю, но ИМХО, по отношению к C++ они сводятся к нескольким основным принципам:
— По возможности точно следовать заданию или переспросить, если что-то неясно (+ коммуникационные навыки);
— Отслеживать и обрабатывать ошибочные ситуации (+ уверенность, что ты знаешь как работают реальные программы);
— Хорошо оформить (+ умение следовать стилю оформления, + забота о читателях);
— Не тащить в коде ничего лишнего (+ к уверенности, что ты умеешь себя ограничивать в творческих порывах);
— Следовать устоявшимся идиоматическим приёмам (+ к уверенности, что кандидат понимает, как ими пользоваться);
— Сделать автоматические тесты хотя бы по граничным значениям (+ к знанию методов тестирования).
Это что-то вроде общего знаменателя, можно сделать больше, но не стоит делать меньше. Вроде бы, ничего запредельного.
На RSDN регулярно встречаются вопросы по тестовым заданиям, вот топик трёхлетней давности: http://rsdn.ru/forum/job/4788182
S>Впрочем, наверное стоило бы говорить о требованиях к кандидату. Вы считате что человек, претендующий на 140к должен знать как минимум все что написано в этом топике? Имо, это все таки уровень сеньора и деньги другие. Если же Вы мне скажете, что это должен знать миддл, то я убьюсь об стенку.
Помимо комментариев и других оформительских штучек, ИМХО, самые серьёзные претензии крутились вокруг двух вещей:
— Лишние абстракции;
— Необычное использование shared_ptr.
Вроде бы, ничего запредельного даже для миддла.
Я не совсем согласен с gandjustas, что здесь стоит вводить lockfree-очередь: при прочих равных она бы не помешала, но мне кажется вишенкой на торте, без которой можно и обойтись.
S>Работая над этим ТЗ я потратил большую часть времени потратил на обдумывание алгоритма, который удовлетворяет требованиям задачи так, как я их вижу. На мой взгляд алгоритм получился очень даже неплохим и реализация его вполне себе рабочая, без дедлоков, гонок и прочего безобразия. Да, много деталей можно править и улучшать и в реальной обстановке я бы не раз возвращался к этому коду с целью оптимизации и рефакторинга, причем по собственному почину. А в итоге получается, что всем плевать на алгоритм, на ход размышлений, на то, что в итоге все работает, пусть и со скрипом. Главное, что я там вместо голого указателя использовал умный и что комменты не написал.
Представь, что у тебя, например, пятеро таких кандидатов и каждый плюёт на оформление кода, но при этом ждёт, что ты расшифруешь ход его, вполне возможно, что и гениальной мысли. Почти наверняка взвоешь уже на третьем. Хрен с ними, с тестами, обрадуешься уже тому, что кто-то внятно прокомментировал код.
S>Кстати, неприятно, что в этой конторе сидят жлобы, которые даже не удосужились ответить. Подумаешь, кто-то там потратил N часов на ТЗ. Не понравилось, значит игнорим. Рашка, блин.
Согласен, если уж ты сам спрашивал о причинах непрохождения теста, могли бы и объяснить, хотя бы кратко. Высокомерно молчать — просто невежливо и уважения не добавляет.
S>Ну мне кажется, что Вы преувеличиваете насчет банальных и давно устоявшихся.
Может и преувеличиваю, но ИМХО, по отношению к C++ они сводятся к нескольким основным принципам:
— По возможности точно следовать заданию или переспросить, если что-то неясно (+ коммуникационные навыки);
— Отслеживать и обрабатывать ошибочные ситуации (+ уверенность, что ты знаешь как работают реальные программы);
— Хорошо оформить (+ умение следовать стилю оформления, + забота о читателях);
— Не тащить в коде ничего лишнего (+ к уверенности, что ты умеешь себя ограничивать в творческих порывах);
— Следовать устоявшимся идиоматическим приёмам (+ к уверенности, что кандидат понимает, как ими пользоваться);
— Сделать автоматические тесты хотя бы по граничным значениям (+ к знанию методов тестирования).
Это что-то вроде общего знаменателя, можно сделать больше, но не стоит делать меньше. Вроде бы, ничего запредельного.
На RSDN регулярно встречаются вопросы по тестовым заданиям, вот топик трёхлетней давности: http://rsdn.ru/forum/job/4788182
Автор: Геннадий Васильев
Дата: 21.06.12
Дата: 21.06.12
S>Впрочем, наверное стоило бы говорить о требованиях к кандидату. Вы считате что человек, претендующий на 140к должен знать как минимум все что написано в этом топике? Имо, это все таки уровень сеньора и деньги другие. Если же Вы мне скажете, что это должен знать миддл, то я убьюсь об стенку.
Помимо комментариев и других оформительских штучек, ИМХО, самые серьёзные претензии крутились вокруг двух вещей:
— Лишние абстракции;
— Необычное использование shared_ptr.
Вроде бы, ничего запредельного даже для миддла.
Я не совсем согласен с gandjustas, что здесь стоит вводить lockfree-очередь: при прочих равных она бы не помешала, но мне кажется вишенкой на торте, без которой можно и обойтись.
S>Работая над этим ТЗ я потратил большую часть времени потратил на обдумывание алгоритма, который удовлетворяет требованиям задачи так, как я их вижу. На мой взгляд алгоритм получился очень даже неплохим и реализация его вполне себе рабочая, без дедлоков, гонок и прочего безобразия. Да, много деталей можно править и улучшать и в реальной обстановке я бы не раз возвращался к этому коду с целью оптимизации и рефакторинга, причем по собственному почину. А в итоге получается, что всем плевать на алгоритм, на ход размышлений, на то, что в итоге все работает, пусть и со скрипом. Главное, что я там вместо голого указателя использовал умный и что комменты не написал.
Представь, что у тебя, например, пятеро таких кандидатов и каждый плюёт на оформление кода, но при этом ждёт, что ты расшифруешь ход его, вполне возможно, что и гениальной мысли. Почти наверняка взвоешь уже на третьем. Хрен с ними, с тестами, обрадуешься уже тому, что кто-то внятно прокомментировал код.
S>Кстати, неприятно, что в этой конторе сидят жлобы, которые даже не удосужились ответить. Подумаешь, кто-то там потратил N часов на ТЗ. Не понравилось, значит игнорим. Рашка, блин.
Согласен, если уж ты сам спрашивал о причинах непрохождения теста, могли бы и объяснить, хотя бы кратко. Высокомерно молчать — просто невежливо и уважения не добавляет.
Re[4]: Тестовое задание ...
Здравствуйте, Selavi, Вы писали:
S>Ну мне кажется, что Вы преувеличиваете насчет банальных и давно устоявшихся.
Может и преувеличиваю, но ИМХО, по отношению к C++ они сводятся к нескольким основным принципам:
— По возможности точно следовать заданию или переспросить, если что-то неясно (+ коммуникационные навыки);
— Отслеживать и обрабатывать ошибочные ситуации (+ уверенность, что ты знаешь как работают реальные программы);
— Хорошо оформить (+ умение следовать стилю оформления, + забота о читателях);
— Не тащить в коде ничего лишнего (+ к уверенности, что ты умеешь себя ограничивать в творческих порывах);
— Следовать устоявшимся идиоматическим приёмам (+ к уверенности, что кандидат понимает, как ими пользоваться);
— Сделать автоматические тесты хотя бы по граничным значениям (+ к знанию методов тестирования).
Это что-то вроде общего знаменателя, можно сделать больше, но не стоит делать меньше. Вроде бы, ничего запредельного.
На RSDN регулярно встречаются вопросы по тестовым заданиям, вот топик трёхлетней давности: http://rsdn.ru/forum/job/4788182
Update: Вообще, конечно, надо ещё смотреть на саму задачу. Если задача простая, то определённо, хотят посмотреть на "второстепенные" моменты. Если сложная — то скорее на ход мысли и порядок тестирования. У тебя задача относительно простая, следовательно "ход мысли" интересует в последнюю очередь.
S>Впрочем, наверное стоило бы говорить о требованиях к кандидату. Вы считате что человек, претендующий на 140к должен знать как минимум все что написано в этом топике? Имо, это все таки уровень сеньора и деньги другие. Если же Вы мне скажете, что это должен знать миддл, то я убьюсь об стенку.
Помимо комментариев и других оформительских штучек, ИМХО, самые серьёзные претензии крутились вокруг двух вещей:
— Лишние абстракции;
— Необычное использование shared_ptr.
Вроде бы, ничего сложного даже для миддла.
Я не совсем согласен с gandjustas, что здесь стоит вводить lockfree-очередь: при прочих равных она бы не помешала, но мне кажется вишенкой на торте, без которой можно и обойтись.
S>Работая над этим ТЗ я потратил большую часть времени потратил на обдумывание алгоритма, который удовлетворяет требованиям задачи так, как я их вижу. На мой взгляд алгоритм получился очень даже неплохим и реализация его вполне себе рабочая, без дедлоков, гонок и прочего безобразия. Да, много деталей можно править и улучшать и в реальной обстановке я бы не раз возвращался к этому коду с целью оптимизации и рефакторинга, причем по собственному почину. А в итоге получается, что всем плевать на алгоритм, на ход размышлений, на то, что в итоге все работает, пусть и со скрипом. Главное, что я там вместо голого указателя использовал умный и что комменты не написал.
Представь, что у тебя, например, пятеро таких кандидатов и каждый плюёт на оформление кода, но при этом ждёт, что ты расшифруешь ход его, вполне возможно, что и гениальной мысли. Почти наверняка взвоешь уже на третьем. Хрен с ними, с тестами, обрадуешься уже тому, что кто-то внятно прокомментировал код.
S>Кстати, неприятно, что в этой конторе сидят жлобы, которые даже не удосужились ответить. Подумаешь, кто-то там потратил N часов на ТЗ. Не понравилось, значит игнорим. Рашка, блин.
Согласен, если уж ты сам спрашивал о причинах непрохождения теста, могли бы и объяснить, хотя бы кратко. Высокомерно молчать — просто невежливо и уважения не добавляет.
S>Ну мне кажется, что Вы преувеличиваете насчет банальных и давно устоявшихся.
Может и преувеличиваю, но ИМХО, по отношению к C++ они сводятся к нескольким основным принципам:
— По возможности точно следовать заданию или переспросить, если что-то неясно (+ коммуникационные навыки);
— Отслеживать и обрабатывать ошибочные ситуации (+ уверенность, что ты знаешь как работают реальные программы);
— Хорошо оформить (+ умение следовать стилю оформления, + забота о читателях);
— Не тащить в коде ничего лишнего (+ к уверенности, что ты умеешь себя ограничивать в творческих порывах);
— Следовать устоявшимся идиоматическим приёмам (+ к уверенности, что кандидат понимает, как ими пользоваться);
— Сделать автоматические тесты хотя бы по граничным значениям (+ к знанию методов тестирования).
Это что-то вроде общего знаменателя, можно сделать больше, но не стоит делать меньше. Вроде бы, ничего запредельного.
На RSDN регулярно встречаются вопросы по тестовым заданиям, вот топик трёхлетней давности: http://rsdn.ru/forum/job/4788182
Автор: Геннадий Васильев
Дата: 21.06.12
Дата: 21.06.12
Update: Вообще, конечно, надо ещё смотреть на саму задачу. Если задача простая, то определённо, хотят посмотреть на "второстепенные" моменты. Если сложная — то скорее на ход мысли и порядок тестирования. У тебя задача относительно простая, следовательно "ход мысли" интересует в последнюю очередь.
S>Впрочем, наверное стоило бы говорить о требованиях к кандидату. Вы считате что человек, претендующий на 140к должен знать как минимум все что написано в этом топике? Имо, это все таки уровень сеньора и деньги другие. Если же Вы мне скажете, что это должен знать миддл, то я убьюсь об стенку.
Помимо комментариев и других оформительских штучек, ИМХО, самые серьёзные претензии крутились вокруг двух вещей:
— Лишние абстракции;
— Необычное использование shared_ptr.
Вроде бы, ничего сложного даже для миддла.
Я не совсем согласен с gandjustas, что здесь стоит вводить lockfree-очередь: при прочих равных она бы не помешала, но мне кажется вишенкой на торте, без которой можно и обойтись.
S>Работая над этим ТЗ я потратил большую часть времени потратил на обдумывание алгоритма, который удовлетворяет требованиям задачи так, как я их вижу. На мой взгляд алгоритм получился очень даже неплохим и реализация его вполне себе рабочая, без дедлоков, гонок и прочего безобразия. Да, много деталей можно править и улучшать и в реальной обстановке я бы не раз возвращался к этому коду с целью оптимизации и рефакторинга, причем по собственному почину. А в итоге получается, что всем плевать на алгоритм, на ход размышлений, на то, что в итоге все работает, пусть и со скрипом. Главное, что я там вместо голого указателя использовал умный и что комменты не написал.
Представь, что у тебя, например, пятеро таких кандидатов и каждый плюёт на оформление кода, но при этом ждёт, что ты расшифруешь ход его, вполне возможно, что и гениальной мысли. Почти наверняка взвоешь уже на третьем. Хрен с ними, с тестами, обрадуешься уже тому, что кто-то внятно прокомментировал код.
S>Кстати, неприятно, что в этой конторе сидят жлобы, которые даже не удосужились ответить. Подумаешь, кто-то там потратил N часов на ТЗ. Не понравилось, значит игнорим. Рашка, блин.
Согласен, если уж ты сам спрашивал о причинах непрохождения теста, могли бы и объяснить, хотя бы кратко. Высокомерно молчать — просто невежливо и уважения не добавляет.