LINUX.ORG.RU

изучение баш и гит в качестве тестового задания

 , , , ,


3

4

Вопрос

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

Сводка интересных ответов

(пока не заглядываю, а просто собираю по трём страницам темы)

А вот что спросил у коллег/сам нагуглил

★★★★★

Последнее исправление: den73 (всего исправлений: 3)

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

А при найме надо вообще не это проверять. Или ты принципиально набираешь среди тех, кто баш и гит не видел никогда?

t184256 ★★★★★
()
Ответ на: комментарий от t184256

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

И сколько времени нужно, чтобы самостоятельно освоить гит среднему студенту?

А при найме надо вообще не это проверять. Или ты принципиально набираешь среди тех, кто баш и гит не видел никогда?

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

Но что же надо, по-твоему, проверять у таких людей?

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

По идее-то, если чел думал над тем, как себя продавать

Первое правило продаванского мышления: считать всех остальных такими же продаванами как и ты сам.

anonymous
()

Понимаешь, если гит освоить - это ещё нормальное задание, которое и общую компьютерную грамотность проверит, то вот баш…

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

Новое поколение не надо учить башу. Никаких for, никаких sed, awk и прочего ad-hoc-дерьмища с гигантской случайной сложностью. Лучше уж питон, или какой-нибудь хаскель, да что угодно лучше баша, которому кроме производительности похвастаться вообще нечем.

anonymous
()
Ответ на: комментарий от anonymous

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

История жи. Традиции. Фольклор.

Nervous ★★★★★
()

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

Так а сколько вы платить-то будете? И какие у вас задачи?
Может вам люди с опытом git и bash подхалтурить захотят.

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

Мммм, ну здесь я не особо планировал искать людей, мы ищем их на hh… А что значит «плагин не поддерживается»?

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

что же надо, по-твоему, проверять у таких людей?

Я наймом не занимаюсь, но с моего дивана кажется разумным давать задания на то, чем они потом будут заниматься. Даешь некоторую приближенную к реальности проблему, просишь создать задачу в $issuetracker. Описать в созданной задаче исходные данные, требуемый результат, варианты решения. Написать тесты и реализацию, закоммитить это все в отдельную ветку в тестовом репозитории, создать merge/pull request и отправить его на ревью. Исправить замечания. Наверное, лучше, если это будет задание на дом.

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

Nervous ★★★★★
()
Ответ на: комментарий от anonymous

Новое поколение не надо учить башу. Никаких for, никаких sed, awk и прочего ad-hoc-дерьмища с гигантской случайной сложностью. Лучше уж питон

Правильно, пусть приучаются к портянкам говнокода вместо одной строчки на ad-hoc дерьмище. Только зачем питон? Сразу жаву учить.

anonymous
()
Ответ на: комментарий от den73

И сколько времени нужно, чтобы самостоятельно освоить гит среднему студенту?

Освоить или научиться создавать репозитории и делать пулл-реквесты? Если второе, то мне через web-интерфейс в самый первый раз минут 5-10 потребовалось. При том что я даже не программист.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 2)
Ответ на: комментарий от Nervous

Описать в созданной задаче исходные данные, требуемый результат, варианты решения. Написать тесты и реализацию, закоммитить это все в отдельную ветку в тестовом репозитории, создать merge/pull request и отправить его на ревью.

Это как с резиновой куклой кувыркаться перед первым свиданием.

anonymous
()
Ответ на: комментарий от anonymous

Это как с резиновой куклой кувыркаться перед первым свиданием.

Смысл идти на свидание с человеком, который даже резиновой кукле вдуть не может?

Nervous ★★★★★
()
Ответ на: комментарий от Nervous

Даешь некоторую приближенную к реальности проблему, просишь создать задачу в $issuetracker.

Как защититься от покупки решения задачи?

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Как защититься от покупки решения задачи?

Позадавать вопросы о реализации как на лабах. Ну и испытательный срок никто не отменял.

xaizek ★★★★★
()
Ответ на: комментарий от den73

Как защититься от покупки решения задачи?

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

А если осиливает — то какая разница, кто делал вступительное задание.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)

хотим в качестве тестового задания людям без опыта вообще дать изучить баш и гит и потом проверить знания

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

goingUp ★★★★★
()

баш

Тогда уж cl, ну или более древнее говно мамонта.

RazrFalcon ★★★★★
()

Не понимаю такой помешанности современной молодёжи на git’е. Я, например, пробовал погуглить «чем svn лучше git» и мне гугл в упор выдавал заказанные статьи «преимущества git» и на том же опеннете и лоре когда выходят новости про SubVersion так сразу начинается «не нужно»

gtk3 ★★★
()
Ответ на: комментарий от gtk3

У нас в организации используется гит. Вы меня извините, я из криокамеры. Чем нынче принято пользоваться вместо баша?

den73 ★★★★★
() автор топика
Ответ на: комментарий от Nervous

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

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

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Да при чём тут есть смысл или нет? У нас в конторе он используется, это не моё решение, он нужен любому нашему разработчику и тестировщику. Обсуждать тут нечего.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Python? Проверять абстрактную обучаемость с пользой для конкретного дела не разумно. Держу в курсе.

anonymous
()
Ответ на: комментарий от anonymous

Мне вот интересно, тут закидали тапками баш. Поднимите руки, у кого логин-шеллом установлен не баш (и не другой аналогичный *sh)

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Но можно сказать, что баш - это «просто ещё один язык программирования» и проверить обучаемость.

Имхо учить чему то не нужному самое последнее занятие.
Может вам лучше связку git+pithone или git+make тестировпть?

make к стати намного сложнее в освоении чем баш.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от gtk3

Ну это вопрос ко всем, потому что против баша сразу выступили человека три.

den73 ★★★★★
() автор топика

а что поиск дал?

Были очень интересные интерактивные обучалки, надо только вспомнить :) …

anonymous
()
Ответ на: комментарий от den73

Это мода такая гнать на bash, они думают, что так умными выглядят. Базовые знания о конвеере, кодах возврата, переменных и всяких &&, ||, & лишними не будут. Но сильно в дебри уходить смысла не вижу, если не нужно писать скрипты регулярно.

О, кстати, я про сайт Quizful вспомнил. Там и про шелл есть, но чисто тесты.

xaizek ★★★★★
()
Ответ на: комментарий от anonymous

Python? Проверять абстрактную обучаемость с пользой для конкретного дела не разумно.

А питон не надо абстрактно учить? Хотя он похоже сам в голову всем влазит и пожирает мозги.

bread
()
Ответ на: комментарий от den73

А у тебя логин-шелл какой? Не баш?

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

torvn77 ★★★★★
()
Ответ на: комментарий от den73

Ну я, например, у меня основным шеллом xonsh, суперсет питона, всем советую.

t184256 ★★★★★
()
Ответ на: комментарий от den73

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

Сдавшему экзамен по гиту и зачитавшему наизусть man bash тоже нужно будет платить 3 месяца (кстати, зачем? если вся полнота провала очевидна за неделю, можно ведь не тянуть кота за яйца) и точно так же не факт, что он сможет выполнять свою работу.

Кстати, второго я бы не взял, это же явно поехавший.

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

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 2)
Ответ на: комментарий от den73

Поднимите руки, у кого логин-шеллом установлен не баш (и не другой аналогичный *sh)

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

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 1)
Ответ на: комментарий от gtk3

Не понимаю такой помешанности современной молодёжи на git’е

git тупо стандарт. Как раз на том же лоре гораздо больше хвалебных слов про mercurial, мне сложно судить, я не участвовал в командах из тысяч людей над проектами в десятки миллионов строк кода. Мне хватает гита и учить ещё что-то мне не хочется. Потому что, повторюсь, гит тупо стандарт. Знать гит тупо необходимо.

когда выходят новости про SubVersion так сразу начинается «не нужно»

Чтобы не пользоваться DVCS, нужны крайне серьёзные доводы. Например, смерть мозга.

gremlin_the_red ★★★★★
()
Последнее исправление: gremlin_the_red (всего исправлений: 1)
Ответ на: комментарий от den73

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

gremlin_the_red ★★★★★
()
Ответ на: комментарий от den73

И сколько времени нужно, чтобы самостоятельно освоить гит среднему студенту?

Я гит увидел когда был уже далеко не студентом, был опытным пользователем svn. Мне потребовалось пол года, чтоб перестать боятся и прекратить постоянно теребить tar -czvf ... / tar -xvf ....

Aber ★★★★★
()
Ответ на: комментарий от Nervous

Кстати, второго я бы не взял, это же явно поехавший.

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

bread
()
Ответ на: комментарий от gtk3

Я, например, пробовал погуглить «чем svn лучше git» и мне гугл в упор выдавал заказанные статьи «преимущества git»

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

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

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

То что git хранит всю историю и бранчи локально позволяет легко и не принужденно переключаться между версиями проекта. Из-за этой простоты бранчинга начинаешь создавать бранчи на все, на эксперименты, тесты гипотез, и если не отправляешь их на сервер, о них никто не узнает, они будут только у тебя на машине и больше ни у кого. Это удобно для «хакинга» и костылей для целей тестирования.

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

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 2)
Ответ на: комментарий от ia666

Я скрипты пишу на Raku, потому что он мне нравится, со студента просил бы питон, потому что распространённость. А шеллом, да хоть дефолтный в дебиане dash, абсолютно фиолетово.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от den73

гремлин тебе дело говорит.

если падаван выучит питон, выучит и баш (если вам он действительно нужен).

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

впрочем возможно у меня слишком хорошее мнение о людях

ZuBB ★★★★★
()

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

ugoday ★★★★★
()
Ответ на: комментарий от Nervous

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

То же верно и для собеседований.

ugoday ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.