Кодирование Теста - позволяет использование сети? [закрытый]

Вы также можете сохранить ваши параметры в качестве атрибутов вашего возвращаемого значения. Таким образом, вы не получите список обратно, если не хотите этого:

random_number_generator <- function(n,distribution,mean=NULL,sd=NULL,lambda=NULL,size=NULL,prob=NULL){

  if (distribution=="Normal"){

   x <- rnorm(n=n,mean=mean,sd=sd)

  }

  if (distribution=="Poisson"){

  x <- rpois(n=n, lambda=lambda)

  }

 if (distribution=="Binomial") {

  x <- rbinom(n=n,size=size,prob=prob)

 }

    attributes(x) <- list(distribution = distribution,
                          size = size,
                          prob = prob)
    class(x) <- "MyClass"

  return (x)
}

answer <- random_number_generator(n=10, distribution = "Binomial",size=15,prob=0.4)

summary.MyClass <- function(x) {
    stopifnot(inherits(x, "MyClass"))
    cat("\t\n", 
        sprintf("Sample size: %s\n", length(x)),
        sprintf("Mean: %s\n", mean(x)),
        sprintf("Standard Deviation: %s\n", sd(x)),
        sprintf("Distribution: %s\n", attr(x, "distribution")),
        sprintf("Size: %s\n", attr(x, "size")),
        sprintf("Prob: %s\n", attr(x, "prob"))
        )
}

summary(answer)
5
задан Dror 5 March 2013 в 04:58
поделиться

13 ответов

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

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

10
ответ дан 18 December 2019 в 05:22
поделиться

Существуют тесты, где веб-доступ может быть дан, и существует то, где он действительно не имеет смысла.

Случай, где его штраф для разрешения веб-доступа

  • Когда ее маловероятное для нахождения даже 60 процентов кода по сети
  • Когда Вы попросите объяснять код после того, как он завершил код
  • Очень определенное решение с помощью SQL-запроса, который вряд ли будет найден в сети

Случай, где его штраф для не разрешения веб-доступа

  • Некоторые основные программы как, рекурсия, fibonacci, факториал, обработка строк, маленькие программы приема, и т.д. Нет никакой потребности компьютера даже в некоторых из этих случаев
6
ответ дан 18 December 2019 в 05:22
поделиться

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

Если несколько минут поиска с помощью Google были достаточно к не только copypaste некоторый код, но и узнать достаточно об этом, чтобы смочь защитить решения в, то он достаточно умен!

8
ответ дан 18 December 2019 в 05:22
поделиться

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

Должно быть довольно легко препятствовать тому, чтобы copy-pasters проскользнул через трещины путем просьбы, чтобы кандидат объяснил его код.

3
ответ дан 18 December 2019 в 05:22
поделиться

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

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

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

Или как пример от мира ASP.NET, задайте интервьюируемый вопрос человека, такой как: что является ViewState, что является обратной передачей, что является session-/application-state и т.д.

5
ответ дан 18 December 2019 в 05:22
поделиться

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

Я лично нахожу это более интересным, если кандидат может решить проблемы в более крупном масштабе, чем просто решение простой проблемы программирования. Таким образом, я склонен спрашивать его о методах, которые он использует при программировании (Поблочное тестирование? Когда-нибудь работавший с ним? Что Вы думаете о нем?). Это дает мне лучшее изображение, чем кодирование в ситуации с интервью.

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

2
ответ дан 18 December 2019 в 05:22
поделиться

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

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

Существует базовое знание, что разработчики в конкретном поле должны знать; но Вы также хотите выяснить, как быстро он может изучить новые вещи. Хороший тестовый IMO должен бросить вопрос, Вы знаете, что он не знает и видит, сколько времени он может изобразить его использование ресурсов, которые он имел бы, если бы он был сотрудником Вашей компании.

2
ответ дан 18 December 2019 в 05:22
поделиться

Важно удостовериться, что кандидат находчив - Вы не хотите своего программиста, сидящего там, когда они застревают, не продвигаясь; Вы хотите, чтобы они использовали независимо от того, что ресурсы под рукой - быть этим MSDN, выбирая чужие мозги, с помощью сети, и т.д. - чтобы сделать задание. Cut-n-paste от сети действительно походит на обман, но (a) если Вы разработаете свою задачу тщательно затем, то это будет достаточно уникально для там, чтобы не быть стандартным ответом, который они могут скопировать с сети и (b) разве многократное использование существующего кода не является ключевой ролью создания программного обеспечения? Это очень не отличается от пользования сторонними библиотеками, чтобы не изобретать велосипед. На оборотной стороне, конечно, Вы также хотите, чтобы они показали, что могут разработать алгоритмы, таким образом, уникальная задача должна включать некоторый элемент, который требует этого без решения, уже находящегося в сети. Проблема, форумы являются ахиллесовой пятой, всей из которой, так как они могут просто попросить решение и кто-то, где-нибудь, собирается передать ответ невольно!

1
ответ дан 18 December 2019 в 05:22
поделиться

Позвольте кандидату использовать сеть, но сказать ему заранее, что, если он использовал сеть, необходимо будет оценить, КАК он решил проблему.

Если он использовал сеть для чего-то простого, такого как нахождение синтаксиса или параметров, которые он забыл, не отмечайте его. Это нормально.

Если он использовал сеть для чего-то как взгляд на то, как определенная функция используется, не отмечайте его. Это нормально.

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

Если он использовал stackoverflow.com, проверьте его профиль на вопросы, ответы и значки. Оттуда, можно проверить, насколько хороший программист он.

1
ответ дан 18 December 2019 в 05:22
поделиться

Все это зависит, что Вы хотите из своего успешного кандидата. Я оспариваю представление, что знание, как погуглить, делает Вас хорошим программистом, потому что очевидный факт - то, что Интернет полон плохих примеров, а также хороших. Вы действительно не хотите, чтобы Ваша кодовая база отразила, насколько удачный Ваш сотрудник Google был в день, он вырезал и вставил весь свой код от сети. Вы хотите, чтобы это продемонстрировало звуковые методы, доказанные методологии и изящные, эффективные решения, которые Ваши команды понимают и восторженны по поводу. Не беспорядок стилей, которые не напоминают друг друга. Существует богатство пользы, которая будет получена от знания, как получить справку от межвеб-, но реального знания, и древняя мудрость теряется каждый день, что людям, которые действительно не понимают то, что они делают, дают задания, потому что они, кажется, решают проблемы со своей способностью "погуглить его".

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

1
ответ дан 18 December 2019 в 05:22
поделиться

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

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

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

0
ответ дан 18 December 2019 в 05:22
поделиться

Три вещи я сделал бы.

Позвольте заявителям отправить в примере кодирования наряду с их резюме.

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

Позвольте заявителям решить проблему в псевдо коде доски во время интервью. В этом случае можно быть их "Интернетом" путем помощи им.

Эти три подхода покажут Вам разные вещи. Первое является хорошим механизмом дальнего обнаружения, но может легко фальсифицироваться (они могли просто загрузить код oss с сети где-нибудь). Второе хорошо видеть, могут ли они на самом деле кодировать, но они могли бы выиграть плохо, если они незнакомы с инструментами, Вы используете. Третье покажет Вам, если они могут решить теоретические проблемы, но не покажут Вам, если они на самом деле - хорошие командные игроки или если они пишут удобный в сопровождении код.

0
ответ дан 18 December 2019 в 05:22
поделиться

Я недавно сделал, чтобы друг начал говорить со мной на IM, он был в тестовом собеседовании кодирования. У него была пара вопросов о SQL. Сначала я думал, ад, необходимо сделать это сами. Я не собираюсь помогать Вам обмануть во время интервью.

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

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

Когда я делаю интервью, я часто спрашиваю людей, какие веб-сайты они читают, какие средства разработки они используют, и почему. Это - подобная вещь. Уверенный это не о том, как они пишут x строку кода, но это о том, как они работают.

Нет, как обойти кого-то, просто копируют и вставляющие "ответы". Хорошо сначала не задавайте вопросы, которые имеют стандартные ответы. Во-вторых, когда я беру интервью, мне нравится давать людям некоторый код, просить, чтобы они осуществили рефакторинг его, сделали, чтобы они говорили через то, что они думают. Затем попросите, чтобы они написали некоторый новый код, который реализует опцию. Парная программа с ними. Трудно скрыть неспособность кодировать когда парное программирование. В то время как они соединяются, полностью имеет смысл говорить, "давайте пойдем посмотреть API в день библиотека времени".

0
ответ дан 18 December 2019 в 05:22
поделиться
Другие вопросы по тегам:

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