Каков был бы хороший демонстрационный проект попросить, чтобы возможный программист кодировал во время процесса найма?

В контексте программирования директивы обеспечивают руководство для компилятора, чтобы изменить то, как он иначе будет обрабатывать ввод, то есть изменить некоторое поведение.

«Директивы позволяют вам привязывать поведение к элементам в DOM.»

Директивы разделены на 3 категории:

  • Атрибут
  • Структурный
  • Компонент

Да, в Angular 2, Компоненты являются типом Директивы. Согласно Доку,

«Угловые компоненты являются подмножеством директив. В отличие от директив, у компонентов всегда есть шаблон, и для каждого элемента в шаблоне может быть создан только один компонент ».

Angular 2 Components являются реализацией концепции Web Component . Веб-компоненты состоят из нескольких отдельных технологий. Вы можете думать о веб-компонентах как о многократно используемых виджетах пользовательского интерфейса, которые создаются с использованием открытой веб-технологии.

  • Таким образом, в сводных директивах Механизм, с помощью которого мы присоединяем поведение к элементам в DOM, состоящим из типов Structural, Attribute и Component.
  • Компоненты - это особый тип директивы, который позволяет нам использовать функциональность веб-компонента Возможность многократного использования AKA - инкапсулированные, повторно используемые элементы, доступные в нашем приложении.
17
задан Joel Coehoorn 28 December 2011 в 20:29
поделиться

15 ответов

Я бы создал не обязательно хорошее приложение и встроил несколько ошибок. Я бы предложил несколько простых функций, которые нужно добавить в программу.

Обнаружил ли кандидат какие-либо ошибки?

Как код кандидата интегрируется в существующий код?

Не застревает ли кандидат на чем-то, что не имеет значения?

Адаптируется ли кандидат к стандарту кодирования существующего кода?

После этого упражнения обсудите код с кандидатом. Это может быть более ценно, чем реальный код.

ПРИМЕЧАНИЕ: что касается ответа @bpapa, я бы удостоверился, что эта проблема является новой и, очевидно, не будет использоваться в производстве.

19
ответ дан 30 November 2019 в 10:17
поделиться

Я согласен с bpapa, что это собеседование, а не тестовый запуск, может быть, вместо этого подумайте о том, чтобы задать несколько вопросов о том, как они будут проходить определенные переговоры, связанные с программированием ...

0
ответ дан 30 November 2019 в 10:17
поделиться

Однажды мне пришлось сдать экзамен по Visual Basic MCP, по окончании которого мне даже не удосужились сообщить мне результат.

К счастью, когда я задал вопрос о том, получу ли я результат, я сидел на экране «Применить / Отменить».

Я нажал «Отменить», поблагодарил их за потраченное время и вышел.

0
ответ дан 30 November 2019 в 10:17
поделиться

Небольшая, четко сформулированная задача может помочь вам исследовать людей на равных условиях с относительно небольшими затратами времени с их стороны. Ты не не нужно что-то сложное, чтобы увидеть, что люди могут делать.

В прошлом я просил людей написать небольшое веб-приложение, которое реализует несколько фундаментальных концепций. Мы сохраняем детали того, что приложение должно делать очень просто.

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

Изменить:

Относительно «небольших, четко определенных задачи »: я стараюсь сделать то, что включает в себя очень подробное описание некоторой простой бизнес-логики как части более крупной задачи программирования. Например, одно из заданий по программированию, которые я давал в прошлом, включает настройку простого веб-приложения Java и реализацию нескольких функций. Мы постарались подробно описать, как эти функции должны работать, чтобы устранить двусмысленность. Это произошло по двум причинам:

  1. Дело в том, чтобы увидеть, может ли кандидат создать простое приложение с нуля, а не в том, могут ли они правильно угадать, что мы хотим.
  2. Если вы действительно хорошо определили задачу , вы получите больше информации о том, насколько тщательно кто-то относится к той работе, которую он, вероятно, будет выполнять в деловой ситуации.
  3. Нам нужно было что-то достаточно гибкое, чтобы давать кандидатам с разным уровнем опыта.

Здесь я должен отметить, что я считаю, что задания по программированию наиболее эффективно используются для проверки компетентности. Если вы дадите действительно сложное задание или задание, которое не определено четко, велика вероятность того, что вы не получите результатов, которые скажут вам то, что вы хотите знать (если только вы не

1
ответ дан 30 November 2019 в 10:17
поделиться

Чтобы ответить на вопрос:

Для PHP я думаю, что корзина для покупок, адресная книга и форум были бы хорошими проектами. Обычно они охватывают широкий спектр тем веб-программирования - сеансы, регистрация, база данных, обработка форм и аутентификация.

Лично: Похоже, вы больше похожи на архитектора, чем на гуру программирования. Я бы не стал наказывать кандидата за то, что он не может придумать название непонятной функции или ему нужно обратиться в другое место. Главное, что у него есть инициатива и он знает, где искать (бог знает, сколько раз мне нужно искать PHP.NET). ИМХО, хороший вопрос для архитектора - сказать ему, что у вас есть набор данных, но у вас есть три разных способа их отображения, и каждое представление имеет разные операции. Если его ответ - просто гигантский ПЕРЕКЛЮЧАТЕЛЬ, то он может быть неправильным выбором.

0
ответ дан 30 November 2019 в 10:17
поделиться

Пробовали ли вы раньше парное программирование? Два человека садятся за одну машину, используют общую клавиатуру и мышь и на ходу говорят о том, что делают. Я думаю, что это абсолютно лучший подход, потому что он, в конечном итоге (после того, как паника всех утихнет) действительно покажет, насколько хорошо вы двое работаете вместе.

Если вы не являетесь великим программистом, этот человек должен научить вас и успокоить. Если они не так хороши, но вы хорошо работаете вместе, это может быть более желательно, чем блестящий, но неприятный человек.

В конце сеанса просто удалите свою работу. Ничего страшного.

2
ответ дан 30 November 2019 в 10:17
поделиться

Дайте им адрес или другой текстовый файл и попросите их создать простой сценарий для преобразования его в XML. Я использовал это однажды, и он творил чудеса.

Если вы хотите проверить их на месте, попросите их перевернуть строку. С организационной точки зрения настойчивость, решимость и энтузиазм так же важны, как и техническая подготовка, ИМХО.

2
ответ дан 30 November 2019 в 10:17
поделиться

Мне нравятся проблемы в streamtech . Они довольно просты и часто могут быть выполнены за довольно короткое время, но они показывают, что кандидат способен к структурированному мышлению и преобразованию этого в структурированный код.

Что касается оценки - я бы использовал это как возможность узнать . Сначала решите проблему самостоятельно, а затем сравните с кодом заявителя. Найдите любые конструкции, которых вы не знаете, а затем спросите себя, какая версия более очевидно правильная .

4
ответ дан 30 November 2019 в 10:17
поделиться

Я думаю, лучшее, что вы можете сделать, - это попытаться пригласить настоящего эксперта на собеседование с вами. Если нужно, наймите третью сторону. Я не уверен, что можно дать качественную оценку тому, кто является более опытным разработчиком, чем вы.

Еще одна вещь, которую следует учитывать, это то, что действительно хорошие разработчики могут заметить тот факт, что они более опытны чем вы сами, и если вы укажете, что являетесь одним из разработчиков, это может на самом деле их оттолкнуть (не пытаясь быть оскорбительным, я просто имею в виду в контексте того, что вы подразумеваете, что вы не очень опытны).

2
ответ дан 30 November 2019 в 10:17
поделиться

Если вы не эксперт, я бы посоветовал вам с осторожностью оценивать других разработчиков. Вам, вероятно, следует придумать лучший способ оценить навыки разработки кого-то еще, если вам не нравится ваш собственный уровень.

Я не уверен, что есть хорошее решение для вас.

Я бы сделал образцы кодирования очень простыми, и это не заняло бы часа или двух. Простых упражнений по кодированию, которые занимают несколько минут, должно быть достаточно - в сочетании с другими обсуждениями передового опыта, фреймворков, вопросов дизайна и т. Д.

6
ответ дан 30 November 2019 в 10:17
поделиться

Лично я отказался бы сделать это, когда бы меня спросили. Собеседование - это одно дело, и задавать вопросы по программированию на бумаге для оценки технических знаний - это нормально, но на самом деле написание какого-то приложения для кого-то оплачивается, и я бы не стал делать это бесплатно. Даже если предполагается, что это займет всего час.

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

13
ответ дан 30 November 2019 в 10:17
поделиться

Я бы прислушался к совету Джоэла, что выполнение домашних заданий на собеседовании просто отсеивает лучших программистов (перефразировано из его книги). У лучших программистов есть много вариантов, поэтому они не захотят выполнять задание по программированию. Они просто не применимы. В результате вы останетесь с людьми со средним уровнем компетентности. К сожалению, по моему опыту, именно они, скорее всего, попытаются выглядеть лучше, чем они есть, и, если вы сами не являетесь экспертом, скорее всего, введут вас в заблуждение.

Вот альтернативный вариант. Попросите их указать вам на какую-то работу, которую они уже сделали. Не обязательно код, но сайт. Во время интервью задавайте им вопросы о том, как они это кодировали. Какие структуры данных они использовали? Как были организованы классы или функции? Какие проблемы им пришлось преодолеть?

Тогда в качестве традиционных вопросов программирования в интервью, на которые они могли бы ответить вам сразу же. Таким образом вы сможете оценить их понимание и синтаксис. Эти два вопроса не обязательно должны совпадать.

9
ответ дан 30 November 2019 в 10:17
поделиться

Я никогда не участвовал в процессе найма ... но в ходе собеседований меня однажды попросили реализовать двусвязный список, а другой - разработать алгоритм, классический, сколько целых точки внутри заданной формы, в данном случае три точки, образующие треугольник, один раз в O (n ^ 2), а затем снова в O (n).

Я не думаю, что способ сделать это - заставить их программировать что-то, но чтобы убедиться, что они знают, как это понять. Вы задаете им проблему или задаете вопрос и просите их думать вслух и наблюдать за их мыслительным процессом. Это не совсем точно показывает, чистый ли у них код, но в зависимости от проблемы это дает вам представление о том, знают ли они, о чем они говорят.

1
ответ дан 30 November 2019 в 10:17
поделиться

Обычно слабые программисты не очень хорошо понимает рекурсию, это по моим наблюдениям на данный момент, теперь это не имеет ничего общего с PHP напрямую, и, вероятно, рекурсивный факториал или ряд Фибоначчи не будет иметь большого значения, но скажем, чтобы загрузить дерево контроль с данными из базы данных с некоторыми родительско-дочерними отношениями может быть хорошим примером.

Кроме того, поскольку вы не эксперт, как вы сказали, подумайте о чем-то, с чем вы сможете справиться уверенно.

0
ответ дан 30 November 2019 в 10:17
поделиться

Что ж, кажется, все препятствуют усилиям по кодированию для вмешательства. Я не согласен с несогласными. Чтобы ответить на ваш вопрос - если вам нужен пример того, что им нужно кодировать - бросьте простой калькулятор на стол перед ними и попросите их написать программу для виртуального создания калькулятора. Дайте им полчаса и посмотрите, как далеко они продвинутся. Некоторые могут закончить за это время.

2
ответ дан 30 November 2019 в 10:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: