Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Работа |
![]() ![]() |
Топик располагается на нескольких страницах: 1 2 3 4 5 6 7 8 9 10 .. 12 [все] |
IvanFive87 Member Откуда: Сообщений: 4 |
критерии: Москва зп стабильность интересные проекты |
10 фев 21, 15:58 [22278944] Ответить | Цитировать Сообщить модератору |
Jimmy Nogo Member Откуда: Сообщений: 139 |
На Долину удаленно работай. |
10 фев 21, 15:59 [22278948] Ответить | Цитировать Сообщить модератору |
IvanFive87 Member Откуда: Сообщений: 4 |
Английский слабоват потребуется пара лет для уверенного разговорного пока что Москва |
||||
10 фев 21, 16:01 [22278949] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Может быть Озон. На счёт интересных проектов не уверен, но компания имеет стабильное финансирование. |
10 фев 21, 16:25 [22278970] Ответить | Цитировать Сообщить модератору |
IvanFive87 Member Откуда: Сообщений: 4 |
https://www.sql.ru/forum/1333335-a/pyatiletka-cel-50-v-chas-uroven-sener |
10 фев 21, 18:26 [22279055] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Почта России. |
10 фев 21, 22:18 [22279184] Ответить | Цитировать Сообщить модератору |
Car1son Member Откуда: Сообщений: 490 |
Финам. |
10 фев 21, 22:26 [22279186] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
mindbox известно что-нибудь про эту компанию? |
12 фев 21, 23:03 [22280320] Ответить | Цитировать Сообщить модератору |
Бумбараш Member Откуда: никем не победимая, самая любимая Сообщений: 2802 |
неудобно это писать это на сайте, посвященному сишарпу и делфи, но из интересных контор вроде бы действительно, только озон + всякие инвестконторы-брокериджи (и это не финам) интересная это какая-то ведущая компания на рынке с именем, и чтобы там кор система\мы была написана на сишарпе (ведущая компания с именем это не спортмастер и не комбинат останкино) других вроде бы нет то есть их штуки две-пять дай бог наберется объясните, где я не прав |
13 фев 21, 01:17 [22280354] Ответить | Цитировать Сообщить модератору |
Stumix Member Откуда: Сообщений: 90 |
Abbyy Kaspersky Ozon |
13 фев 21, 18:20 [22280516] Ответить | Цитировать Сообщить модератору |
love_bach Member Откуда: Сообщений: 751 |
А что ты реально можешь? |
||||
13 фев 21, 20:23 [22280558] Ответить | Цитировать Сообщить модератору |
love_bach Member Откуда: Сообщений: 751 |
Везде ты не прав |
||||
13 фев 21, 20:25 [22280559] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
А что он реально должен мочь? Типо ты сейчас ему список компаний предоставишь от его умений? |
||||||||
13 фев 21, 20:54 [22280572] Ответить | Цитировать Сообщить модератору |
Бумбараш Member Откуда: никем не победимая, самая любимая Сообщений: 2802 |
по шагам объясни, иначе мимо |
||||
13 фев 21, 22:46 [22280638] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
А вы хоть шарите в дотнете? Я вот сужу по результатам проведённых собесов в Москве и даже на удалёнку -- всё крайне плачевно. |
||||
14 фев 21, 01:25 [22280683] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Никто не подходит? |
||||||||
14 фев 21, 15:04 [22280775] Ответить | Цитировать Сообщить модератору |
monsenior Member Откуда: Москва Сообщений: 861 |
скажу по своему опыту: те кто подходит, ходит по собесам чтобы получить оффер для того чтобы поднять зп на текущем месте. |
||||||||
14 фев 21, 15:14 [22280776] Ответить | Цитировать Сообщить модератору |
Stumix Member Откуда: Сообщений: 90 |
Приведите критерии, чтобы удовлетворять требованию "шарить в дотнете" Сообщение было отредактировано: 14 фев 21, 16:15 |
||||||||
14 фев 21, 16:22 [22280788] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Очень приблизительно по кандидатам: 1 из 5 можно взять на джуна 1 из 10 можно на мидла 1 из 50 можно рассматривать на сеньёра И это наверное в самом в лучшем случае. |
||||
14 фев 21, 18:20 [22280806] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Знание и понимание .NET/C# и его технологического стека. Сообщение было отредактировано: 14 фев 21, 18:18 |
||||
14 фев 21, 18:25 [22280809] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
На джун сейчас какая вилка зарплаты идёт? |
||||||||
14 фев 21, 18:39 [22280815] Ответить | Цитировать Сообщить модератору |
Stumix Member Откуда: Сообщений: 90 |
хех ну, давайте конкретнее какой топ зафэйленных вопросов? Ну, то есть по вашему must have, а кандидаты тупят и отвечают неправильно |
||||||||
14 фев 21, 19:40 [22280830] Ответить | Цитировать Сообщить модератору |
Ares_ekb Member Откуда: Екатеринбург Сообщений: 1587 |
|
||||
14 фев 21, 20:21 [22280849] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Работадатели ведь еще наглее, им же с опытом надо и платить как можно меньше хотят и чтобы сотрудник дольше на работе сидел:) С большим опытом любой сможет устроится :) А попробуй без опыта возьми, так нет, нет времени на обучение сотрудника :) |
||||||||
14 фев 21, 20:45 [22280856] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
По рынку.
Да по любому. Открывайте Рихтера, тыкайте не глядя на любую страницу. Даже на самых азах часто затык. Можно даже сказать, какой же .NET замечательный, ведь с разработкой ПО на профессиональном уровне может справиться даже обезьяна, ничего знать не нужно вообще! Вернее большинство именно так и думает :) Для примера async/await, да пофиг даже как это изнутри работает, как компилируется. Банально, зачем оно вообще нужно, для чего? Не знает 80% кандидатов. Или даже больше. Спрашиваешь, используешь async/away -- ессессно!! А зачем? Да хер его знает, все побежали, и я побежал. Или какую-то дичь про потоки, аж уши заворачиваются. Но и на простейших вопросах, на уровне азбуки сыпятся. Но это не мешает кандидатам требовать ЗП от 150 и выше. Я как бы в полнейшем ахере, коллеги.
Ну фиг знает.
Я брал людей абсолютно без опыта. Прям вообще по нулям опыта. Но они знали и умели больше, чем люди с опытом 5, 8 лет. Не шучу. Например, человек решил сменить профессию. Подошёл к этому серьёзно, почитал вдумчиво книги, прошёл курсы до каких дотянулся, поизучал код в опен сорсе, пописал пет проджекты. Опыта нет, но есть знания, системный подход, способность к обучению, заинтересованность. Мне такой человек гораздо более интересен, чем люди с многолетним опытом, которые два слова связать не могут, и опыт такой, что гроша ломанного не стоит. |
||||||||||||||||
15 фев 21, 00:39 [22280884] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Никогда не жалко времени на обучение, если оно того стоит. Просто сравните, вы либо обучаете, либо тупо говорите что и как делать. Если второе, то это уже не обучение, а просто тратите время впустую. Иногда так и бывает. |
||||
15 фев 21, 00:42 [22280885] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
hVostt, Если не секрет как компания Ваша называется? |
15 фев 21, 07:36 [22280916] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Slant-shadow, Не хотелось бы, чтобы эта дискуссия перешла в обсуждении конкретной компании, политики её трудоустройства и вилки зарплат, так как я здесь не выполняю функцию HR. Сказанное мной верно в контексте почти всех компаний, где я работал и работаю. |
15 фев 21, 09:10 [22280931] Ответить | Цитировать Сообщить модератору |
bga83 Member Откуда: Город герой Ленинград Сообщений: 31548 |
|
||||
15 фев 21, 09:17 [22280932] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
hVostt, Ну вроде всё адекватно рассказали. А можно свои силы попробовать устроится? |
15 фев 21, 09:18 [22280933] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Блин. Да такая фигня постоянно на собесах. Бесит. |
||||||||
15 фев 21, 09:21 [22280936] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Если мне в повседневной работе будет нужна обезьяна, которая будет нажимать одни и те же кнопки, без малейшего понимания, что это значит -- я найму обезьяну без всякого собеседования. Будут нужны только пальцы и умение повторять заученные действия. По факту, копают от забора до обеда только те, кто кроме этого ничего больше не умеют. Сами подумайте, если кроме как копать, вы ничего не умеете, стоит ли от вас ожидать каких-то взвешенных решений, где например задачу можно решить, не копая? Наверное нет. |
||||
15 фев 21, 09:22 [22280938] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Самого бесит, если вместо вопросов по технологическому стеку, вас спрашивают почему люки круглые или ещё какую-то дичь из собеседований аля гугл :) |
||||
15 фев 21, 09:26 [22280942] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Ага особенно задачи про сосуды с водой, яблоки и тд. Ну в общем поняли :) |
||||||||
15 фев 21, 09:30 [22280944] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Да, конечно — публикуйте своё резюме на HH. Вероятность, что вас пригласят к нам наверное близка к 99% :) Мы выгребаем вообще всё, что есть на рынке. Именно поэтому вопрос ТС для меня показался странным. |
||||
15 фев 21, 11:05 [22280993] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Ну что здесь странного? Человек может хочет отсеять те компании куда и пробовать даже не стоит, чтобы не тратить свое время. |
||||||||
15 фев 21, 11:51 [22281006] Ответить | Цитировать Сообщить модератору |
sqlask Member Откуда: Сообщений: 96 |
hVostt, мидбокс? озон? |
15 фев 21, 11:56 [22281010] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
В мидбокс вроде не стоит соваться, очень много плохого о них |
||||
15 фев 21, 12:18 [22281028] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
не ) |
||||
15 фев 21, 13:01 [22281061] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
В прошлом году мне там 320 тыр./м предлагали. Ну и сами ребята прикольные. |
||||
15 фев 21, 14:42 [22281137] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Постоянно спрашивают про async/await на собеседованиях? И это бесит? Очень странно ![]() |
||||||||
15 фев 21, 14:46 [22281142] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Прямо был оффер от них? Или только на собеседовании обсуждали? |
||||||||
15 фев 21, 14:46 [22281143] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Да, async/await используется постоянно в работе. Причём не только в дотнет. Вообще не знать про неблокирующие операции - это жуткий моветон в 2021-м году ![]() |
||||||||
15 фев 21, 14:48 [22281149] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Бесит, что любят задавать вопросы, а потом в работе это не используется у них. Как собственно в вакансиях понапишут, например: будет плюсом знание Python. Естественно Python и в помине нет, а где какой плюс, ну понятно в общем. Сообщение было отредактировано: 15 фев 21, 14:44 |
||||||||
15 фев 21, 14:50 [22281152] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Да даже собеседований не было. Так пообщались. У меня на тот момент ещё контракт не истёк, о чём я им сразу и сказал. |
||||||||
15 фев 21, 14:51 [22281153] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Хвост выше упомянул Рихтера и async/await. Первого дотнетчику прочитать крайне желательно, второе обязательно знать. В работе используется постоянно. |
||||||||
15 фев 21, 14:53 [22281155] Ответить | Цитировать Сообщить модератору |
17-77 Member Откуда: Сообщений: 1493 |
слушайте, а вот как понять свой реальный уровень? я часто слышу подобные фразы, что все плачевно, но я сам при этом: 1. рихтера читал, но давно и уже не помню что там и вряд ли отвечу, async/await, gc и прочее - каждый раз перед собесами освежаю в памяти 2. но когда ищу работу находятся 2-3 компании, которые делают офферы на сениора что является противоречием тесты? 99,9 тестов, которые проходил - тупые и противоречивые, кроме пожалуй сертификации MCTS/MCPD, причем MCPD мне даже больше понравились, там на подумать, на проектирование, архитектуру тестовые задания? у каждого свои критерии и каждый хочет видеть в реализации то, что лично он закладывал алгоритмические задачи? никогда не любил их решать, но если набить руку (голову), то в принципе можно. при этом в реальности за 10 лет работы всего два раза встречал алгоритмические задачи, и результат пользователям нравился, хотя осознаю, что это было далеко не идеальное решение |
||||
15 фев 21, 16:37 [22281231] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Ну как, есть четыре стадии познания, думаю не сложно определить на какой стадии вы находитесь.
Собес это не экзамен, академических определений от вас не ждут и доскональных знаний библиотечных классов и методов. Но понимание, как работает async/await, gc, что такое вообще таски, какие варианты есть для синхронизации потоков, распараллеливания, что такое структуры, что такое стек, какие основные коллекции есть и т.д. и т.п. -- это всё нужно понимать и уметь с этим работать. Некоторые кандидаты пытаются оправдаться "я с этим не работал". Как будто мы находимся в школе "это мы не проходили, это нам не задавали"... Смешно просто :)
Везде разные критерии, разные продукты, разные команды, разные люди вас собеседуют. Ещё момент, сейчас рынок испытывает сильнейший кадровый голод, и вас просто могут брать "на вырост". Мы так тоже зачастую делаем. Вынуждены.
У нас не практикуются, я лично против тестовых заданий.
Если специфика требует, то могут быть вопросы по алгоритмам. |
||||||||||||||||||||
15 фев 21, 17:31 [22281267] Ответить | Цитировать Сообщить модератору |
bga83 Member Откуда: Город герой Ленинград Сообщений: 31548 |
|
||||||||
15 фев 21, 19:13 [22281327] Ответить | Цитировать Сообщить модератору |
Melkomyagkii_newbi Member Откуда: из прошлого Сообщений: 1929 |
по всем пунктам согласен с hVostt еще можно добавить что лычка senior ничего не значит. в одной конторе ты сеньор, а в другой и на джуна не покатишь. |
15 фев 21, 19:16 [22281328] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
В IT это в любой сфере так, особенно если создадут такие условия Сообщение было отредактировано: 15 фев 21, 22:13 |
||||
15 фев 21, 22:20 [22281391] Ответить | Цитировать Сообщить модератору |
Ares_ekb Member Откуда: Екатеринбург Сообщений: 1587 |
|
||||
16 фев 21, 07:05 [22281421] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Немного котоламповых историй :) Знаю человека (с которым когда-то работал). И ему вообще никаких знаний не нужно было, чтобы нормально зарабатывать. Разработка ПО -- не профильная деятельность для компании (нефть, газ, ну вы поняли). А потом чёт раз, и в городе решили сократить эту компанию. Человека, как и других, выбросило на рынок труда. Кем он только уже не поработал -- сборщиком мебели, менеджером-консультатом и т.д. А был-то инженером-программистом ведущим, топовым. Оказалось, с его знаниями он никому не нужен. Как говорится, ты и с дипломом программер херовый, вот тебе рубанок новый! Всякое бывает. Сообщение было отредактировано: 16 фев 21, 07:08 |
||||||
16 фев 21, 07:13 [22281423] Ответить | Цитировать Сообщить модератору |
RMT Member Откуда: Сообщений: 34 |
IvanFive87, Я бы на твоем месте рассматривал переход в Java. На рынке мало компаний, подходящих под твои критерии и использующие dotNet. Зато вагон и маленькая тележка компаний небольшого типа где 2-3 разраба на весь HQ. Там разраб и аналитик, и тестировщик, и девопс |
16 фев 21, 09:14 [22281433] Ответить | Цитировать Сообщить модератору |
Bsplesk Member Откуда: Сообщений: 216 |
Банк |
16 фев 21, 18:36 [22281816] Ответить | Цитировать Сообщить модератору |
Stumix Member Откуда: Сообщений: 90 |
у меня коллега с java на .net перешёл при упоминании слова "java" начинает нервничать и креститься Сообщение было отредактировано: 16 фев 21, 20:56 |
||||
16 фев 21, 21:03 [22281913] Ответить | Цитировать Сообщить модератору |
17-77 Member Откуда: Сообщений: 1493 |
я пожалуй соглашусь, что на яве больше интересных проектов, но и больше легаси и старья |
16 фев 21, 23:45 [22281988] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Так вы же devops :) Прикиньте вас спросят про кубернетис, а вы в 2021-м о нем не слыхивали типа... |
||||||||
17 фев 21, 00:53 [22282001] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
У каждого свои интересные проекты... |
||||
17 фев 21, 00:54 [22282002] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
В последнее время плотно работаю с индусами, так те носят лычку software architect, но код пишут на уровне мидлов. В лучшем случае. |
||||
17 фев 21, 01:04 [22282004] Ответить | Цитировать Сообщить модератору |
bga83 Member Откуда: Город герой Ленинград Сообщений: 31548 |
|
||||||||
17 фев 21, 08:31 [22282041] Ответить | Цитировать Сообщить модератору |
bga83 Member Откуда: Город герой Ленинград Сообщений: 31548 |
Вообще где то читал, что это на самом деле разные особенности металитета. Скажем если взять специалистов с одинаковыми знаниями/опытом и попросить их самостоятельно оценить свой уровень, то результаты быдут примерно такие: - американец, европеец(западный, не восточный) оценят себя как мидл - индус сеньером - из СНГ джуном. То есть мы склонны несколько занижать оценки собственных знаний, индусы завышать. Плюс так называемый эффект Даннинга — Крюгера тоже никто не отменял. Сообщение было отредактировано: 17 фев 21, 08:30 |
||||||||
17 фев 21, 08:36 [22282042] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Речь про познания. Если вы работали только молотком, и больше ничего знать не знаете и не хотите, значит вам найдётся только одна работа -- забивать гвозди. И за эту работу вряд ли стоит ожидать хорошую оплату. Вчера вот собес проводит дотнетчика. Всё тоже самое. Опять 25. "Я с этим не работал"... Как бы для некоторых есть лишь один варик -- копать от забора до обеда и не ныть :) |
||||
18 фев 21, 12:16 [22282692] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Если бы он ответил просто "Не знаю" было бы легче? |
||||||||
18 фев 21, 12:23 [22282702] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
Если тебя спрашивают работали ли вы с тем-то, и если ты с этим не работал, то что же еще ответить кроме "нет, не работал." :) |
||||
18 фев 21, 12:34 [22282715] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Вопрос видимо был такой: - Вы знаете что такое ...? - Нет, я с этим не работал |
||||||||
18 фев 21, 13:02 [22282748] Ответить | Цитировать Сообщить модератору |
Vyatich Member Откуда: Сообщений: 3691 |
А что нужно отвечать, если "с этим" действительно не работал? Ну не пришлось пока. :)) |
||||
18 фев 21, 13:04 [22282749] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Типо это уже очень большой повод не брать:) Пускай дальше ищут, искать будут года 2 :) Сообщение было отредактировано: 18 фев 21, 13:09 |
||||||||
18 фев 21, 13:15 [22282754] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Есть две большие разницы: - Я только слышал (коллеги делились опытом/читал/слушал на конференции/etc) - Я с этим работал и знаю нюансы |
||||
18 фев 21, 13:16 [22282756] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
На собеседовании: - Я только слышал (коллеги делились опытом/читал/слушал на конференции/etc) = я с этим не работал -> Не принят |
||||||||
18 фев 21, 13:18 [22282757] Ответить | Цитировать Сообщить модератору |
Vyatich Member Откуда: Сообщений: 3691 |
И это даже к лучшему, при чём для обеих сторон. |
||||
18 фев 21, 13:24 [22282763] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Чем лучше-то? Что новый сотрудник потратив некоторое время не сможет разобраться? |
||||||||
18 фев 21, 13:32 [22282770] Ответить | Цитировать Сообщить модератору |
Vyatich Member Откуда: Сообщений: 3691 |
Тем что новому сотруднику не придётся там работать, например. Что съэкономит ему время и нервы. |
||||||||
18 фев 21, 13:35 [22282773] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
А готов ли работодатель выделять на это время? У меня цель устроиться на работу и работать там долго и счастливо, а не вылететь с испытательного срока. Поэтому я не вру, не привираю и не преувеличиваю. Я не вижу в этом выгоды для себя. Мне наоборот будет более интересен работодатель, который даёт время на изучение, и не требует всего да чтоб вчера. |
||||
18 фев 21, 13:46 [22282787] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Ему в любом случае на новой работе нужно время разбираться и вникать в проект, каким бы крутым он не был на предыдущей работе. |
||||||||
18 фев 21, 14:15 [22282813] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Таких кто не готов дать время или помочь разобраться слать надо сразу. Я не так давно на такое попал, очень сильно хотел после этого отомстить. |
||||||||
18 фев 21, 14:19 [22282818] Ответить | Цитировать Сообщить модератору |
monsenior Member Откуда: Москва Сообщений: 861 |
Часто веду собесы, и очень импонируют люди которые честно говорят, что не знают тот или иной момент. С точки зрения работодателя - такие люди максимальны прозрачны для найма. |
||||||||
18 фев 21, 15:07 [22282883] Ответить | Цитировать Сообщить модератору |
Vyatich Member Откуда: Сообщений: 3691 |
+1 |
||||
18 фев 21, 15:08 [22282885] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Их всё равно не берут |
||||||||
18 фев 21, 15:11 [22282892] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Тут вы правы - найти работу с моим подходом действительно сложно. Но каждый сам выбирает стратегию - которую хочет и которую может. |
||||
18 фев 21, 17:04 [22282981] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
У меня всегда есть желание отомстить таким :) |
||||||||
18 фев 21, 17:25 [22282995] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Вовсе нет. Что слышали? Что знаете? По-моему очевидно, интересуется ли человек сферой, в которой работает. Или это просто бездумный работник руками, а не головой. |
||||
18 фев 21, 18:00 [22283016] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Любая работа это опыт. Нельзя всё знать. Есть справочники, гугл, дока. Вопросы задаются не с целью "завалить", как на экзамене. Но я уже об этом говорил и вроде как должно быть очевидно. |
||||
18 фев 21, 18:01 [22283017] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Поверьте и в том и другом случае результат -> Не принят. Для работодателя: интересоваться != знать и применять это в работе. |
||||||||
18 фев 21, 18:04 [22283019] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Смотря про что идёт речь. Если кандидат не знает чем отличается работа GetHashCode() у классов и структур, это вообще не повод отказывать ему в работе. Но если он знает, это большой плюс и с другими глубокими познаниями ему можно предложить самый высокий уровень ЗП по вилке. А то и накинуть сверху. Для некоторых задач, связанных с core системами и важными оптимизациями, без таких знаний качественно работу вообще нельзя выполнить. Но в зачастую кандидаты не знают вообще нифига. Это мы не проходили, это нам не задавали... Сообщение было отредактировано: 18 фев 21, 18:22 |
||||
18 фев 21, 18:27 [22283037] Ответить | Цитировать Сообщить модератору |
monsenior Member Откуда: Москва Сообщений: 861 |
Если человек например не знает какие то темы, и честно об этом говорит, но при этом знает много другого что надо в работе + мозги шарят, то я даю добро таким(пропускаю на следующий этап, где уже идет собес с начальством, командой). Такой же подход встречал на собесах в другие компании. Но там где люди действительно нужны + девочки кадровики это просто прослойка на согласовать время собеса. |
||||||||
18 фев 21, 18:35 [22283040] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
hVostt, Можете написать какие вопросы Вы у них спрашиваете? На junior позицию |
18 фев 21, 20:01 [22283080] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Как-то не сходится если человек не знает какие-то базовые темы, но знает много другого. Шарят ли у него мозги проверяете логическими задачами? |
||||||||
18 фев 21, 20:06 [22283081] Ответить | Цитировать Сообщить модератору |
Stumix Member Откуда: Сообщений: 90 |
раскладывать спички, считать люки в сан-франциско и перевозить коз с капустой? мне кажется задавать такую дичь - это моветон далёких двутысячных, когда каждая шарага мнила себя гуглом |
||||||||
18 фев 21, 20:38 [22283094] Ответить | Цитировать Сообщить модератору |
love_bach Member Откуда: Сообщений: 751 |
Так может просто сразу требования обозначить четко? А то требования стандартного разраба, а ему потом на, Ане хочешь ли на такие вопросы ответить, чтобы мы тебе накинули. Хрень какая то, сразу видно, что нифига вы не ищите никого, и ваша "команда" из вас одного и состоит |
||||||||
18 фев 21, 21:49 [22283126] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Ага, про сосуды еще с водой, про яблоки и тд. А вот спрашивают частенько. Причем сами эти задачи гуглят и ответы на них |
||||||||
18 фев 21, 22:11 [22283133] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Да, сидят и ищут годами и жалуются везде мы никого найти не можем. Такое я тоже слышал |
||||||||
18 фев 21, 22:12 [22283136] Ответить | Цитировать Сообщить модератору |
Sash_xp Member Откуда: UK Сообщений: 124 |
По поводу "Я с этим не работал" и "не люблю когда задачки спрашивают". Есть два типа собеседований: вопросы по стеку, то есть на понимание того, с чем человек работал и если не работал, то в пролете. И собеседование на общий уровень то есть "задачки". Я работаю в одной из тех известных западных компаний, где по местным легендам спрашивают про гномиков и крышки люков. Я провожу собеседования и ни про каких гномиков, ни про люки ни я, ни мои не коллеги не спрашиваем. Задавать такие вопросы вообще считается моветоном. Наше интервью, как и других аналогичных компаний (все эти FGMAAN...), основано на том, что мы не хотели бы отказывать человеку просто на основании того, что он с чем-то не работал, но хотелось бы при этом взять соображаюющего человека, который обладает навыками и мотиваций восполнить пробелы в своих знаниях, способного работать эффективно в команде. FGMAAN с компаний как-то сошлись в том, что интервью состоящее из следующих трех частей позволит таких людей выявить: * behavioural interview - позволяет выявить мотивацию человека и как он взаимодействует с другими людьми с помощью вопросов вида: а расскажите нам историю когда вы получили отрицательный отзыв от коллеги или начальника. И ожидается расскаж о конкретном случае - что произошло, как удалось выпутаться, какие выводы сделал и т.п. * system design - такие больше на построение архитектур распределенных сиситем интервью, важно для разработчиков уровня Senior, Principal и выше. Ну и сотальным хорошо бы понимать хотя бы основы про балансировщики и базы данных. Там проверяются в том числе и такие навыки как обосновынный выбор кмпромиссов, умение видеть недостатки текущего решения и пути их потенциального решения (в том числе и обоснования почему прямо сейчас это не выгодно). * problem solving - те самые задачки. Нет, прорешать все задачки и вывалить сходу решение - это рецепт как провалить интервью. Там проверяются совсем другие навыки - умение понимать задачи, умение искать альтернативы и выбирать подход в текущих условиях, обосновывать свои решения, эффективно взаимодействовать с интервьювером, задача которого помочь кандидату показать на что он способен. А также важна декомпозиция задачи на классы и функции, выбор имен переменных и классов и т.п. Да, для этого типа интервью нужно еще знать базовые структуры данных и умение их использовать в языке, который вы выбрали для интервью. |
18 фев 21, 22:31 [22283147] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Да, бывает попадаются пассивно-агрессивные люди, обиженные на мир, людей, на жизнь. |
||||
18 фев 21, 22:41 [22283152] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
К сожалению планка под названием "завышенные требования" падает всё ниже и ниже. |
||||
18 фев 21, 23:16 [22283162] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Можете написать какие вопросы Вы у них спрашиваете? На junior позицию |
||||||||
18 фев 21, 23:22 [22283166] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Вопрос странный, т.к. он может быть перегружен кем угодно и как угодно. И, структуры - зло ![]() |
||||
18 фев 21, 23:33 [22283172] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Нет. Но он не сильно отличается от того, что вы можете нагуглить.
Может. И не как угодно, а реализация должна отвечать определённым требованиям. Понимание разницы базовой реализации раскрывает хорошее понимание платформы.
Отличная тема для дискуссии. |
||||||||||||
19 фев 21, 00:54 [22283206] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Struct не так сильно абьюзят, как наследование, но только потому что реже используют, а так-то простора для абьюза там ничуть не меньше ![]() |
||||
19 фев 21, 01:21 [22283209] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Смотря где и для чего. Желательно иметь собственное и уверенное понимание. Аргумент типа "на улицах шепчутся и поговаривают, что структуры зло, и уже были стычки на эту тему" -- так себе :) |
||||||||
19 фев 21, 10:45 [22283305] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Так как у большинства понимания нет, то лучше запретить ![]() |
||||
19 фев 21, 10:51 [22283309] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Звучит как запретить молоток, так как много людей по-отбивали себе пальцы. Пусть теперь микроскопом забивают гвозди :) |
||||||||
19 фев 21, 10:57 [22283312] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Ну, тогда не запретить, а подпускать только при наличии допуска. Кстати, вот идея. Есть тьма профессий, куда впускают только если есть определенные сертификаты, права, лицензии и т.п. Чем разработка хуже? Разрешать программировать только после прохождения определенной аттестации и получения документа о ней. Обычного разработчика людей лечить или самолетом управлять даже на километр не подпустят, но при этом любой баран может со стороны прийти и переговнять его код. :)) |
||||
19 фев 21, 12:04 [22283364] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
А если не знает, но в костюме пришёл?) |
||||||||
19 фев 21, 16:26 [22283585] Ответить | Цитировать Сообщить модератору |
Зашедший Member Откуда: Москва Сообщений: 4305 |
![]() |
||||
19 фев 21, 16:41 [22283596] Ответить | Цитировать Сообщить модератору |
Stumix Member Откуда: Сообщений: 90 |
а работу работать тоже костюм за него будет? |
||||||||
19 фев 21, 16:43 [22283598] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
То есть можно в тапках и неадекватно вести, но при это на всё отвечая, тогда берут? |
||||||||
19 фев 21, 16:52 [22283602] Ответить | Цитировать Сообщить модератору |
Stumix Member Откуда: Сообщений: 90 |
необязательно впадать в крайности и экстремумы слабенький заброс на троллинг |
||||||||
19 фев 21, 17:28 [22283646] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
А если в тапках и адекватно вести? На одной моей прошлой работе один старший партнер фирмы ходил по офису в костюме и носках - ему так удобно было :)) |
||||
19 фев 21, 21:52 [22283811] Ответить | Цитировать Сообщить модератору |
love_bach Member Откуда: Сообщений: 751 |
так и не обозначили свой конкретный список требований к кандидатам те, кто говорит, что все они все хуже и хуже. через пять лет они уже точно никого взять не смогут, там одни имбицылы останутся. ну, это по меркам оценщиков для на бора в "команду" |
19 фев 21, 22:04 [22283818] Ответить | Цитировать Сообщить модератору |
love_bach Member Откуда: Сообщений: 751 |
вот о чем и речь. хвост, ты не в состоянии провести интервью, ты всех забреешь, и нет никакой "команды". это твое представление обо всем этом. а по факту - ты один |
||||||||
19 фев 21, 22:14 [22283822] Ответить | Цитировать Сообщить модератору |
love_bach Member Откуда: Сообщений: 751 |
допустим запретили, тебе от этого чем лучше станет? тоже "команда"? |
||||||||
19 фев 21, 22:20 [22283826] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
И, кстати, не "может", а "должен", т.к. иначе непременно в какую-нибудь засаду с боксингом попадешь. Т.ч. знание как оно устроено в ValueType (а устроено, кстати, скажем так, диковинно) не особо и ценно. |
||||
19 фев 21, 23:04 [22283835] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
От того что станет хоть немного меньше говнокода, мне точно не поплохеет ![]() |
||||
19 фев 21, 23:06 [22283836] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Есть лучики в тёмном царстве :) |
||||
20 фев 21, 00:29 [22283848] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Людям, для которых это не ценно, тоже найдётся работа. Какая-нибудь по-проще, где и платят соответствующе :) |
||||||||
20 фев 21, 00:32 [22283849] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
fkthat, Из свежего, посмотри на устройство конвертера сериализатора System.Text.Json, там используются структуры и это приносит серьёзный профит. Это я к тому, что если ты знаешь и умеешь, значит у тебя больше вариантов решений, можешь выбирать наиболее эффективное. Если же мозг с квадратно-гнездовым чёрно-белым приводом, где все зло, кроме добра. То вряд ли можно рассчитывать на какие-то варианты решений. Просто возможности недоступны в принципе. Потому что, это зло, это нельзя, это захейтили, это абьюзят... Хреновый подход в целом. |
20 фев 21, 00:50 [22283853] Ответить | Цитировать Сообщить модератору |
love_bach Member Откуда: Сообщений: 751 |
В очередной раз доказываешь, что нет команды, а есть твои представления. Людям ничего твоего не должно быть ценно\не ценно априори. Они работают работу. И если нет работы, не можете декомпозировать задачи .. все остальное - оценочные суждения, и неумение организовать. |
||||||||
20 фев 21, 00:54 [22283855] Ответить | Цитировать Сообщить модератору |
Ares_ekb Member Откуда: Екатеринбург Сообщений: 1587 |
Как по мне, то если человек в принципе работает, то это уже отлично. Т.е. ему дашь задачу и он что-то по ней делает. Если сам разбирается, читает документацию, задает вопросы на форумах и т.п., то чел гений, нужно точно брать. Если не возникает желания переписать код или документы, которые он делал, то, скорее всего, это сон и пора просыпаться. Всё остальное (вопросы на знание какой-то специфической технической хрени, которая гуглится и потом забывается через полминуты) - это в лучшем случае способ разговорить человека, узнать чем он занимался, понять на сколько он заинтересован в работе. Если собеседование проводит программист, то, скорее всего, он будет задавать такие вопросы, потому что больше нечего спрашивать, нет других тем для разговора. Если не программист, то обычно спрашивают в целом о предыдущем опыте, проектах, которыми занимался и т.п. |
20 фев 21, 04:58 [22283884] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
У Хвоста каждый месяц какая-то новая тема, за которую он уцепится и всем мозг ей делает. Сначала IReadOnlyCollection, потом медиатор (я правда уже и не помню, что было раньше), теперь вот GetHashCode для структур ![]() Я-то знаю в чем прикол реализации GetHashCode в типе ValueType, но хрен могу придумать, где бы мне это знание смогло бы реально пригодиться. |
20 фев 21, 06:26 [22283891] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
А попадаются кандидаты, которые как-то пытаются отомстить за то, что им отказали? |
20 фев 21, 10:15 [22283933] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
Как? Под дверью накакать? |
||||
20 фев 21, 10:19 [22283936] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Способов хватает. Как вариант, который Вы написали. А так написание плохих отзывов о компании на сайтах, размещение различных объявлений с телефонами начальника и регистрация на сайтах с указанием почты для рассылок спама, если такие контакты были оставлены. Сообщение было отредактировано: 20 фев 21, 10:20 |
||||||||
20 фев 21, 10:25 [22283942] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Здесь опасно, что могут вызвать психушку. Сообщение было отредактировано: 20 фев 21, 10:24 |
||||
20 фев 21, 10:26 [22283944] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Еще что-нибудь можно придумать с сайтом самой компании. |
||||||||
20 фев 21, 10:27 [22283946] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
детство какое-то. |
||||||||
20 фев 21, 10:47 [22283955] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Вы же сами спросили "Как?" |
||||||||
20 фев 21, 10:49 [22283956] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
вопрос был риторический :) |
||||||||
20 фев 21, 10:53 [22283957] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Практика показывает, что если человек не может ответить на вопросы собеседования, но его берут на испыталку -- он испытание успешно проваливает. Задачи делает долго, так как не вылазит с гугла. А не вылазит, так как нихрена не знает. Задачи делает крайне хреново, так как вставляет первое же попавшееся решение из гугла или из SO. Постоянно дефекты, код полное говно, работает криво, дефекты исправляются медленно, с командой человек не может взаимодействовать, так как не знает ничего, не знает терминологии, паттернов, общеизвестных подходов и принципов. Вы уж извините, но в жопу таких "практиков", которым "знания не нужны, я просто пишу код!!". Путь идут метлой работают убирая придомовую территорию. Там знания не нужны. |
||||
20 фев 21, 11:29 [22283985] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Как Вы в итоге боретесь с дефицитом кадров? |
||||||||
20 фев 21, 11:31 [22283986] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Ну не вылезает он из гугла, но старается работать есть желание быстро освоить и развиваться. Через полгода начнёт давать результат, начнёт делать быстрее и тд. В чём проблема подождать, дать время, где-то помочь если виден интерес со стороны сотрудника? Если Вы конечно действительно заинтересованы в сотруднике. Или Вы хотите как обычно всё и сразу быстро? А в замен мало чего |
||||||||
20 фев 21, 11:37 [22283991] Ответить | Цитировать Сообщить модератору |
Melkomyagkii_newbi Member Откуда: из прошлого Сообщений: 1929 |
Опять же соглашусь с hVostt. Мне нужно чтобы человек не гуглил, а знал некоторые вещи. А то по резюме и разговорам "за жизнь" он Лев Толстой, а на деле .. хм, пук, я загугмив.. среньк. Про дефицит - норм зп/условия и репутация конторы/продукта делают свое дело. Посмотреть хотя бы на FAANG - там вообще жарят на собесах по всем фронтам, однако дефицита нет, а наоборот. |
||||||||
20 фев 21, 11:41 [22283993] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Человек, у которого есть желание осваивать и развиваться вряд ли провалит собеседование. Потому что он уже затратил какие-то усилия, проявил интерес, почитал книжки, статьи, что-то попробовал поделать, прошёл какие-то курсы. Лишь на одном желании проехать нельзя. |
||||
20 фев 21, 11:47 [22283995] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Проводим собеседование, берём на испытательный срок. Есть интернатура. |
||||
20 фев 21, 11:48 [22283996] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Ерунда полная написана, не имеющая ничего общего с реальным собеседованием и предъявляемыми требованиям к кандидату. прошёл какие-то курсы... почитал книжки, статьи... что-то попробовал поделать... Только во всех вакансиях на junior написано: глубокое знание .NET Core , ASP.NET Core, Entity Framework, JS, SQL Server, желательно React, Angular, опыт работы от 1 года |
||||||||
20 фев 21, 12:09 [22284003] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Я смысл ваших комментариев не совсем понимаю. То ли вы по жизни такой трудный и не пробиваемый, то ли у вас есть какой-то травмирующий опыт, оставивший неизгладимый след на вашей трудовой деятельности :) Расслабьтесь. Открою секрет. Если вам чем-то вакансия, компания или собеседование не нравится -- вовсе не обязательно идти на эту позицию. Ищите другое место. Наверняка для вас что-то подходящее найдётся. И по вашим знаниям и по ЗП. |
||||
20 фев 21, 12:20 [22284007] Ответить | Цитировать Сообщить модератору |
Melkomyagkii_newbi Member Откуда: из прошлого Сообщений: 1929 |
я сначала в стартапе студенческом год, в основном с sql server работал, потом полгода читал книжки-доки-курсы по оракл, устроился на почти 2 килобакса на завод с ораклом. еще через год-полтора пошел на сеньора в люксофт. чяднт вот первая же попавшаяся вакансия junior шарписта и ваш квантор не работает. |
||||||||
20 фев 21, 12:37 [22284020] Ответить | Цитировать Сообщить модератору |
Vyatich Member Откуда: Сообщений: 3691 |
Как бы в FAANG дефицита нет, поскольку люди жарятся на собеседованиях за хорошую зарплату, соцпакет, условия труда и интересные(передовые) проекты. Но когда условное "Рога и копыта" хочет быть как гугл и спрашивает про люки, алгоритмы и внутренности JVM, а на деле проект оказывается тем ещё легаси с перекладыванием json-ов с места на место, то выглядит это всё довольно странно. При этом вряд ли "Рога" способны сравниться с FAANG по остальным пунктам. |
||||
20 фев 21, 12:46 [22284023] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3198 |
Через полгода начнёт А взамен от компании всего ничего: платить ему пока он не приносит пользы, учится, отвлекает других от основной работы. Можно, конечно, считать эти убытки ценой за обучение того, кто нанимал - пусть запомнит, кого нанимать не нужно. |
||||
20 фев 21, 13:12 [22284040] Ответить | Цитировать Сообщить модератору |
Ares_ekb Member Откуда: Екатеринбург Сообщений: 1587 |
hVostt, я и не говорю, что знания не нужны. Но есть большая разница между изучением чего-то с нуля и вспоминанием. Я, например, если не пишу на Java хотя бы пару месяцев, то реально каждый раз вспоминаю как в ней, например, цикл писать по коллекции. Потому что в JavaScript это "for (... of ...)". В C# это "foreach (... in ...)". В Python это "for ... in ...". А в Java, это, блин, "for (... : ...)". Подавляющее большинство технических вопросов на мой взгляд из той же области. На знание какой-то фигни, которой если хотя бы месяц не пользовался, то она полностью выветривается из головы за ненадобностью, но при необходимости легко вспоминается.
Вы у них хотя бы спрашиваете какими проектами они до этого занимались? Чем им интересно было бы заниматься? Неужели человека, который несколько лет занимался проектами аналогичными вашим, нужно спрашивать про GetHashCode()? Может лучше его поспрашивать про какие-нибудь проблемы, которые возникали при разработке (всё что угодно - производительность, миграция данных, архитектурные вопросы, ...), и как он их решал? У каждого человека уникальный личный опыт, и по ответам на такие вопросы он сразу виден. Видно чем лично он занимался, с чем сталкивался в работе, какие выходы находил. Если тупо экзаменовать людей по одним и тем же типовым вопросам, ну, очевидно, вам нужен гребец на галеру, чтобы закрывать типовые таски. Либо просто потешить своё чсв в случае, если кандидату глубинное знание GetHashCode() в итоге в работе так и не понадобится. Зачем хорошему специалисту идти в такую контору? Если на собеседовании такое отношение, то и дальше ничего хорошего не будет. В моём понимании нормальное собеседование это когда 1) у человека есть какие-то интересы, допустим, он несколько лет писал софт для финансовой сферы, для медицины, ... или ему интересно машинное обучение, какие-нибудь алгоритмы и т.п. 2) в конторе есть соответствующий проект и 3) люди на собеседовании это обсуждают. В ходе такого разговора сразу будет виден и уровень кандидата, и уровень конторы. Не нормальное собеседование - это когда пофиг чем кандидат занимался до этого, пофиг на его мотивацию, интересы, давайте создадим для него максимально дискомфортные условия, будем спрашивать про вещи, с которыми он никогда не сталкивался в работе и, с большой вероятностью, никогда не столкнется, а может и сталкивался, но прошло уже больше месяца-года и естественно человек не может это сходу вспомнить. |
||||
20 фев 21, 13:16 [22284042] Ответить | Цитировать Сообщить модератору |
Jimmy Nogo Member Откуда: Сообщений: 139 |
Мне нужно оплачивать ипотеку, содержать семью, старых родителей, а ещё сестре с деньгами помогать, так как она что-то финансово не очень. Какая у меня мотивация, как думаете? |
||||
20 фев 21, 13:44 [22284050] Ответить | Цитировать Сообщить модератору |
Melkomyagkii_newbi Member Откуда: из прошлого Сообщений: 1929 |
ни одни рога и копыта в РФ так не гоняют как в FAANG и даже не близко. Вопрос был как боретесь с дефицитом, ответ - хорошими условиями. |
||||||||
20 фев 21, 13:45 [22284051] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Забавно, насколько можно бояться очевидно необходимой помощи. |
||||
20 фев 21, 13:45 [22284052] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Я не пишу сериализаторы для JSON, я пишу софт для бизнеса, и хрен могу вспомнить, где бы замена класса на структуру могла бы дать мне профит. Вот, кто пишет сериализаторы, тот пускай их и использует. Остальным запретить ![]() |
||||
20 фев 21, 13:46 [22284054] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Всё это у кандидата спрашивают. Плюс важно знать что ему интересно, чтобы понять, подходит ли ему задачи компании или нет. Я не понимаю к чему вы клоните. Типа не надо вообще выяснять уровень кандидата. Ни в коем случае не проверять его на знания. А просто поговорить за жизнь и послушать пару историй из его практики, так? И просто поверить ему на слово, если он говорит, что он крутой программист и сразу взять без лишних разговоров? ![]() Лично я вижу, что у вас тоже какой-то травмирующий опыт видимо присутствует. Вас не берут что-ли никуда, отсюда такой негатив к собесам? :) |
||||
20 фев 21, 13:47 [22284055] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Да в целом уже давно понятно, чистый прикладник. Работа, с которой справится любой джун. |
||||||||
20 фев 21, 13:48 [22284056] Ответить | Цитировать Сообщить модератору |
Ares_ekb Member Откуда: Екатеринбург Сообщений: 1587 |
|
||||
20 фев 21, 13:52 [22284060] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Ну да, с ходу предложить ему два стула... ![]() Откуда у вас столько безумных фантазий на эту тему? :) |
||||
20 фев 21, 13:52 [22284061] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Ещё из интересного, почему у нас? Это везде так. Вот у вас прорвало трубу. Вызвали сантехника. По вашему должен ли он быстро и качественно починить трубу, или сначала он желает развалиться на вашей кровати, вы должны принести ему водочки и поговорить за жизнь? ![]() А в компании, вас затем и берут, чтобы вы гребли. И никак иначе. Если вы плохо гребёте, или гребёте не в ту сторону, нахрен вы такой в компании упёрлись? "У вас..." ![]() |
||||
20 фев 21, 13:58 [22284065] Ответить | Цитировать Сообщить модератору |
Ares_ekb Member Откуда: Екатеринбург Сообщений: 1587 |
|
||||
20 фев 21, 14:01 [22284067] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Люди могут быть разными |
||||||||
20 фев 21, 14:07 [22284069] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Вы не поверите, но у собеседующего тоже может быть стресс. И собеседующий может бояться что-то лишнего спросить и напугать кандидата. А потом ещё собеседующий будет отвечать за то, что выбрал вот этого вроде нормального парня, но оказалось, что он принёс больше вреда чем пользы. Поймите, это не игра в одни ворота. |
||||||||
20 фев 21, 14:08 [22284072] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Конечно, я нисколько не сомневаюсь, что возьмут. |
||||||||
20 фев 21, 14:49 [22284090] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
А вот я за вас немного переживаю :) Но это не важно конечно, главное ваша уверенность. |
||||
20 фев 21, 14:54 [22284096] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Рано пока, через полгода планирую только начать искать новую работу |
||||||||
20 фев 21, 15:07 [22284106] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Насколько я помню, ты ровно такой же прикладник. Ты же не станешь тут горбатого лепить, что ты у себя на работе компиляторы разрабатываешь? |
||||
20 фев 21, 15:27 [22284116] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
А есть еще такие как Хвост. Случайно овладеют каким-то экзотическим знанием, типа GetHashCode для структур (подозреваю, что он сам об этом месяц-другой назад узнал, потому что на какие-то грабли наступил) и давай потом на интервью у всех эту экзотику спрашивать, хотя, вероятность, что она в жизни пригодится околонулевая. Сам по молодости таким страдал, потом понял, какая это херня. |
||||
20 фев 21, 15:36 [22284119] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
При чём тут компиляторы? Мне знания структур не раз пригодились. В моей практике есть задачи, требующие высокой производительности в условиях экстремальных нагрузок. И даже не в контексте таких задач, как пример привёл сериализатор. Есть сложные интеграции, где требуется дописывать сложные конвертеры. И вообще множество разных интересных и сложных задач есть, где все эти знания находят применения. Если же всё, что ты делаешь это CRUD и тупая бизнес-логика, очевидно это тебе не нужно.
А зачем ты искажаешь информацию, как СМИ? Я не говорил, что требую этого знания, было всего пара кандидатов -- сильных, с которыми мы дошли в обсуждении до таких вопросов. Они без каких-либо проблем отвечали, и рассказывали с интересом. Лично тебя никто не заставляет :) Не хочешь погружаться -- да и не надо. И для тебя работа найдётся. Сообщение было отредактировано: 20 фев 21, 19:29 |
||||||||||||
20 фев 21, 19:32 [22284222] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Знания - это такая забавная штука, что когда они есть - встречаешь кучу мест, где они нужны, полезны и порой просто спасают; когда же их нет - кажется, что и без них отлично справился, сделав максимум возможного. |
20 фев 21, 20:34 [22284245] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
+ многие знания -- многие печали ![]() |
||||
20 фев 21, 20:38 [22284248] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Это не делает из тебя не-прикладника.
Спасибо. У меня уже есть. |
||||||||
21 фев 21, 00:04 [22284302] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Знания о ValueType.GetHashCode к таким не относятся. 9 из 10 даже синьоров-помидоров не смогут толком объяснить принципы SOLID кроме самого первого, но такие как Хвост будут на интервью спрашивать у них не это, а какую-нибудь "погружательную" чушь. |
||||
21 фев 21, 00:14 [22284305] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Стойкое впечатление, что ты рассказываешь ситуацию в своём кишлаке, удалённом от ближайшего города на добрую тысячу км. Компьютер включать умеет -- уже считай сеньёр :) В общем ты себе в голову чушь какую-то вбил, чего я вообще не говорил. Сам же поверил в это, и теперь вещаешь :) |
||||
21 фев 21, 00:20 [22284307] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Глупое утрирование. Например, тот же принцип Лисков вовсе не так тривиален, как проста его формулировка и для своего объяснения требует понятий контрактного программирования. Как раз непонимание этого дает непонимание того, что правильное наследование это вовсе не простая штука и следует несколько раз подумать прежде чем разрешать наследовать какой-либо класс (делать его не-sealed) - о чем Рихтер про наследование и писал. |
||||
21 фев 21, 00:56 [22284312] Ответить | Цитировать Сообщить модератору |
17-77 Member Откуда: Сообщений: 1493 |
интересно вы тут про структуры рассуждаете это примерно тоже самое как знать когда лучше использовать list а когда dictionary но со структурами надо помнить и держать в голове довольно много вещей: и переполнение стека, и считать байты (правильный размер для конкретной машины, иначе копирование будет довольно долгим, сравнимое с классом, а ведь можно еще передать по ref), и выравнивание т.е. программирование на классах на C# - долгое, медленное, но более безопасное а программирование на структурах - это кажется уже на границе зеленого и желтого уровня оптимизации в итоге чтобы использовать структуры - их плюсы должны перевешивать минусы, желательно в деньгах, это типа - заменили на структуры и освободили 20% серверов, но и тогда в этот код лезут только сениоры-принсипалы и еще бы не забыть, что в конкретной ситуации - сениор стоит от 5к баксов/мес, а 20% серверов 100 баксов/мес. зы - gethashcode переопределял 1 раз за 10 лет и то в гибере на составном ключе, а вторая часть ключа был tenantId, собственно всегда участвует where, и контекст создавался только в рамках хттп запроса, т.е. с моей точки зрения - достаточно было уникальности по первой части составного ключа что у вас за задачи такие, что надо каждый день хеш код переопределять для всего до чего руки дотянутся? ведь только в этом случае в памяти отложатся особенности переопределения для структур и классов Сообщение было отредактировано: 21 фев 21, 01:09 |
21 фев 21, 01:11 [22284315] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Наводящий вопрос. Что не так с этим кодом: struct Foo { public int Id { get; init; } public string Name { get; init; } } HashSet<Foo> hashSet = new(); hashSet.Add(new Foo { Id = 42, Name = "foo" }); |
||||
21 фев 21, 01:24 [22284317] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Cкорее, когда использовать List, а когда LinkedList. |
||||
21 фев 21, 02:36 [22284324] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Ну, они уже молодцы. Лично я так и самый первый объяснить не могу. Фраза Each change in requirements can be done by changing just one class сразу вызывает у меня готовность взять любой дизайн, состоящий более чем из одного класса, и придумать к нему такое изменение требований, которое одним затронутым классом ну никак не обойдётся. В то же время паттерн "всё приложение в одном классе" хоть и имеет некоторые плюсы с точки зрения выполнения этого принципа, но не лишён других серьёзных недостатков. |
||||
21 фев 21, 04:18 [22284330] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Это сложно объяснить не-программисту. Для Вас, поди, "проект, аналогичный вашим" - это из той же предметной области. Мол, если писал один интернет-магазин, значит и другой наверняка напишет. Вопрос же в том, что важно не столько то, чем человек занимался, сколько то, как он это делал. Грубо говоря, представьте себе, что Вы хотите взять на работу художника-портретиста. У Вас есть два кандидата. Один отлично рисует морские пейзажи, другой специализируется по портретам, но рисует их на уровне детсадовца. Так вот, чтобы отличить одного от другого, вполне достаточно попросить каждого нарисовать пару штрихов (вопрос про GetHashCode, подозреваю - из этой области). И человеку, не умеющему рисовать, будет вполне искренне казаться, что вопрос не имеет никакого отношения к его как портретиста возможностям, и на самом деле на собеседовании надо расспрашивать, как он рисовал портреты мамы, папы и любимого котика.
Вы объясняете, как построить собеседование, чтобы его прошли Вы. А интересует - как построить собеседование, чтобы его прошёл именно тот, кто нужен.
Плач Ярославны. Думаю, большинство посетителей форума лет двадцать как не решали уравнений, но если потребуется - легко сделают. Всё это "не может сходу вспомнить" означает, что человек никогда этим толком не занимался. |
||||||||||||
21 фев 21, 04:52 [22284331] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Человеческим языком - каждый класс должен делать только то, что должен делать. Если нужно забивать гвозди и крутить шурупы, то готовим отдельно молоток, и отдельно отвертку, а не молоток с крестовидной рукояткой: https://en.wikipedia.org/wiki/Single-responsibility_principle. А про изменения в коде при изменениях в требованиях это уже типа как следствие. Сообщение было отредактировано: 21 фев 21, 06:24 |
||||
21 фев 21, 06:29 [22284335] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Ну, вон, у некоторых до него на интервью доходят только лучшие из лучших. Хотя, на самом деле, то, что реально из этого нужно (т.е. зачем GetHashCode используется и как его правильно реализовывать) есть в любой книге уровня "за 21 день" чуть ли не в первых главах. |
||||
21 фев 21, 06:42 [22284336] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Одно дело "не могу вспомнить вообще" а другое дело "не могу вспомнить никуда не заглядывая". Ты вот сейчас сможешь сходу по памяти дать математическое определение числа "e"? |
||||
21 фев 21, 06:51 [22284337] Ответить | Цитировать Сообщить модератору |
Ржавый гвоздь Member Откуда: Сообщений: 132 |
Я могу, лол ![]() ![]() |
||||
21 фев 21, 07:01 [22284338] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Ну зачетно, чо. Но, подозреваю, что тут далеко не каждый так сможет. Мне бы пришлось, если и не заглядывать никуда, то хотя бы немного подумать. А производную тангенса на память слабо? ![]() |
||||||||
21 фев 21, 07:51 [22284339] Ответить | Цитировать Сообщить модератору |
Ares_ekb Member Откуда: Екатеринбург Сообщений: 1587 |
softwarer, нет, для меня проект "аналогичный вашим" это когда я десять лет занимаюсь моделированием, разработкой инструментов моделирования и прихожу на проект по разработке инструмента моделирования. Где я сам отлично понимаю что важно, что не важно, какие знания и опыт нужны. Пример с художниками, ну, такой сомнительный. Может пейзажист рисует портреты ещё хуже и вообще не хочет этим заниматься. А второй кандидат пусть слабее, но ему портреты интересны, у него есть потенциал для развития. С другой стороны, я понимаю к чему этот пример. Если расспрашивать плохого художника о его картинах, то возможно он будет уверен в том, что всё рисует отлично. Ну, нужно просто посмотреть на эти картины, позадавать вопросы в стиле какие сложности возникали при рисовании того или иного портрета, что было интересно, что не интересно. И кандидат, если у него был соответствующий опыт, сам выйдет на тему композиции, света, золотого сечения и т.п. Если не выйдет, то можно задать ему наводящие вопросы. При этом если человек "не навелся", то может проблема и в вопросах, а не в кандидате. Это нормальное собеседование. Не нормальное собеседование - это когда у собеседующего синдром вахтера, он сам в теме не особо разбирается и задает кандидату вопросы в стиле: 1) Как правильно затачивать карандаши? 2) Какой глаз нужно рисовать сначала: левый или правый (а потом, получив ответ, делает многозначительную паузу и ставит отметку о неправильном ответе, потому что в каком-то учебнике он прочитал, что сначала нужно рисовать нос)? 3) А можете ли вы нарисовать портрет человека пальцем на стене? На мой взгляд если собеседующий задает вопросы по шаблону, то один из вариантов: 1) Это галера, где за воротами стоят тыщи голодных рабов. Ни я там нафиг не нужен, ни мне эта работа гребцом не интересна 2) Сам собеседующий в теме плавает. Незадолго до собеседования он разобрался в каких-то вопросах (либо в работе, либо учебник почитал) и теперь гоняет меня ровно по этим вопросам Такая форма собеседования в принципе не предполагает, что кандидат в тех задачах, на которые его берут, может разбираться лучше собеседующего, может принести в компанию какие-то новые компетенции. Если строить собеседования по принципу, что есть тыщи идиотов, нужно отобрать из них не совсем ужасных, которых можно хотя бы обучить потом до более-менее нормального уровня, то что потом удивляться отсутствию хороших кандидатов? Соответственно люди за этим и приходят, чтобы получить в компании опыт. Хорошим-то кандидатам зачем туда идти? У них и на текущей работе всё хорошо. А на новой работе им хочется применять свои знания, самореализовываться, а не гребсти. Я понимаю, что возможно это немного закостенелая позиция. Что типа у меня есть опыт, я сам всё знаю, что вы тут у меня спрашиваете про какой-то второстепенный бред про GetHashCode(), когда я космические корабли запускал в космос. А на самом деле глубинное знание особенностей реализации GetHashCode() позволяет понять основы всего мироздания, и просто я до этого ещё не дорос. Наверное нужен баланс. |
21 фев 21, 08:03 [22284341] Ответить | Цитировать Сообщить модератору |
Ржавый гвоздь Member Откуда: Сообщений: 132 |
Не, это уже слишком сложно ![]() |
||||
21 фев 21, 08:22 [22284342] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
ЛОЛ, я это запомню. У меня жена художник по образованию - буду её этим вопросом троллить ![]()
Уперся вам всем этот GetHashCode. Для структуры два варианта - либо он вообще не используется, либо он используется и тогда его все равно надо перегружать (чтобы избежать боксинга при вызовах). И в том и в другом случае то, как он перегружен в самом ValueType абсолютно пофиг. Знать это нужно разве что для прикола или чтобы щеки дуть перед кандидатами на интервью. И совсем другое дело это знать, как его перегрузить правильно, что, кстати, не имеет даже отношения к структурам, т.к. правила и для классов и для структур одинаковые. |
||||||||
21 фев 21, 08:26 [22284343] Ответить | Цитировать Сообщить модератору |
17-77 Member Откуда: Сообщений: 1493 |
сходу не смог ответить, не использовал ни структуры, ни hashset поэкспериментировал, погуглил и пришел к следующим выводам: 1. две структуры с одинаковым Id, но разным Name воспринимается как уникальная, т.е. ключ составной по всем полям и это скрыто под капотом 2. в доках, на стек оверфлоу, в блогах про два алгоритма расчета - быстрый и медленный. отсюда идет переопределение GetHashCode. вот статья с бенчмарками https://devblogs.microsoft.com/premier-developer/performance-implications-of-default-struct-equality-in-c 3. но вот именно тут возникает следующий момент - проблема то ни в hashset, ни в GetHashCode, а в голове программиста, который решает конкретную бизнес задачу. и проблема эта - неверно выбранный ключ я не использовал HashSet, я использую Dictionary - там явно указывается ключ, и я в 99% случаях использовал int и string, и еще в 1% guid. полагаясь на стандартные реализации GetHashCode и мало того - проблема неправильного ключа в Dictionary лежит на поверхности - он тупо выдаст эксепшн что я делаю в этих случаях? делаю еще одно поле/свойство string Key и пишу Key = $"{field1}|{field2}". как вариант я могу конечно переопределить GetHashCode - но 1. бывает, что конечный Key мне нужен и для других вещей (в лог там записать или еще чего) 2. и тут я погружаюсь в другую проблему - а как правильно переопределить GetHashCode ? все зависит от, вплоть до использования криптографической хэш функции, которая вполне тоже может быть медленной настолько, что Key = $"{field1}|{field2}" будет быстрее, но по-прежнему довольно надежно. все это требует исследований для каждого конкретного случая, на что обычно нет времени 3. я как-то находил сравнение производительности list и dictionary, до условных 10-50-100 элементов разницы нет (и это как раз положено в основу гибридных коллекций в C#). и теперь вопрос - если разница будет заметна на 1000-10000 элементов, то сначала эту 1000-10000 надо откуда-то достать и загрузить в память, хранилище там, в сети, ага, вспоминаем табличку великого гугло-программиста про задержки доступа и иногда мне надо такое: Dictionary<int, List<TModel>>, но это успешно заменяется LINQ GroupBy в итоге что получается - 80% проблем производительности решается правильным выбором ключа а остальные 20% - надо рассматривать каждый случай отдельно, там либо можно еще раза в два все ускорить (это со 130 до 50 наносекунд), либо попасть на задержку при обращении к жесткому диску/сети и тут мы снова возвращаемся к вопросу - какие это задачи, которые требуют явного переопределения GetHashCode ? причем довольно часто, чтобы помнить обо всех подводных камнях и сходу по ним отвечать на собесах Сообщение было отредактировано: 21 фев 21, 12:42 |
||||||||
21 фев 21, 12:44 [22284372] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
А у ключа откуда берётся хеш, из космоса что-ли? ![]()
Dictionary из ключа берёт хеш. Откуда он его берёт? :) |
||||||||
21 фев 21, 13:16 [22284377] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Детский сад какой-то. Какие ещё щёки дуть? Нахер кому упало этим заниматься? Или по себе судишь? )) |
||||
21 фев 21, 13:18 [22284378] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Какая-то фобия в жёсткой форме насчёт наследования :) Но кроме того, что его "хейтят", "абьюзят" и ещё что-то в этом роде, ты так и не разу не сказал, чем же тебе так наследование не угодило. |
||||
21 фев 21, 13:21 [22284379] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Каждый день не надо, и никто не требует знать подробности в реализации в деталях. Но в чём проблема один раз узнать принцип, там что высшая математика или слишком сложно? Вообще не понимаю этой истерики. Чуть лишнего спросили -- в слёзы, собеседующий злой, издевается, наверняка самоутверждается за счёт бедных джунов... Ой-ой-ой... ![]() |
||||
21 фев 21, 13:25 [22284382] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
О, да. Очень просто и наглядно - если воспринять это, не думая. Если же думать, то возникает вопрос: а заворачивать шурупы и отворачивать шурупы - это одна responsibility или разные? Может быть, нужна отдельно завёртка, отдельно отвёртка? И ведь в реале есть случаи, когда они действительно именно так и нужны. А молоток с гвоздодёром - нарушение этого принципа или хороший дизайн или и то, и другое одновременно? Лично я не возьмусь объяснить джуну - где кончается "одна" responsibility и начинаются "разные" так, чтобы он без меня уверенно и чётко принимал правильные решения. Это как в кулинарных рецептах - "варить до готовности" или там "посолить по вкусу", и хрен объяснишь, "это сколько в граммах?"
Во-первых, ты немного меняешь задачу. Нам ведь не нужно "программистское определение цикла for", нам нужно его реальное применение, то есть свойства. И здесь - если человек по памяти не скажет, что это число иррационально, что производная от "е в степени икс" равна "е в степени икс", а интеграл от "е в степени икс" снова равен "е в степени икс" (плюс константа ![]() Во-вторых, когда ты спрашиваешь про определение числа е, я сразу вспоминаю, как классе в девятом решал следующую задачу: "Допустим, у вас есть N чистых карточек, на каждой из которых Вы можете написать любую цифру. Какие цифры следует написать на карточках, чтобы с их помощью можно было представить любое число от 0 до M, где M - максимально?" Я начал считать, при каком основании системы счисления N разных цифр дадут наилучший результат, пришёл к уравнению xN/x => max и, решив его, сделал вывод, что наилучший результат дала бы система счисления с основанием е. Так что можешь считать, что я это определение сам вывел :) А в-третьих, насколько я помню, в математике у числа e просто нет какого-то особенного чеканного определения, поэтому дать его - по памяти или не по памяти - несколько затруднительно. Определений куча разных и они чисто конструктивные - типа "е это особенное число, которое можно получить вот таким способом, например, через второй замечательный предел, и как оказалось, оно обладает вот такими-то свойствами, делающими его крайне особенным". Сообщение было отредактировано: 21 фев 21, 13:22 |
||||||
21 фев 21, 13:28 [22284383] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Ну вот если бы хоть раз в жизни с этим сталкивались, то например знали бы, что есть какой-то метод Combine, который уже легко нагугливается: https://docs.microsoft.com/en-US/dotnet/api/system.hashcode.combine?view=dotnet-plat-ext-5.0 Знать на память всё -- не не требуется. Важно иметь понятия, принципы, знать про наличие определённых решений, которые можно использовать. Если вы их не знаете, либо тупо будете велосипеды городить, либо фигню какую-то делать. Но я вижу, вы много чего знаете, исследовали, и как бы это уже и не ваша проблема. В чём тогда смысл спора? ))) Сообщение было отредактировано: 21 фев 21, 13:35 |
||||
21 фев 21, 13:40 [22284386] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Грустно. Структуры я еще могу понять - в энтерпрайзе, где все данные в БД оптимизация с помощью структур мало где имеет смысл (я так, сходу, могу придумать только одно применение - для хранения кешируемых данных), но HashSet это часто используемая штука.
А вот в том-то и дело, что нет. Если проверять эквивалентность по Equals, то он действительно выдаст false. А хешкод может быть как одинаковый так и разный, в зависимости от порядка полей.
Не обессудь, но это просто мегаговнокод.
Про это написано, описано, и расписано в стапятисот тысяч источников.
GetHashCode позволяет быстро проверить объекты на неэквивалентность (не гарантируя при этом обратное, т.е. их эквивалентность в случае отрицательного результата проверки). Т.е. если для двух объектов GetHashCode разный, то эти объекты гарантированно не эквивалентны. Но если он одинаковый, они могут быть как эквивалентны, так и нет, т.ч. требуется уже точное сравнение. Это, например, используется в классах Dictionary и HashSet чтобы раскладывать объекты по их "карманам"/"слотам". Отсюда еще вытекает одна такая тема, с которой, если не знать, то можно наступить на грабли - если экземпляр класса/структуры является ключом Dictionary или элементом в HashSet то мутировать её никаким способом нельзя, потому что если при этом изменится его hash code, то все просто станет работать неправильно. ЗЫ. Пора, по-моему, этот оффтоп тут заканчивать - здесь все-таки не раздел по .NET. |
||||||||||||||||||||
21 фев 21, 13:54 [22284390] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Ну то есть та же предметная область, как я и сказал. Всё правильно. Это логичный подход для аналитика, которым Вы являетесь, и куда более спорный - для разработчика.
Если бы он не хотел, он не пришёл бы на собеседование. Пример, конечно, не идеальный, как и любой пример из пары слов с минимумом информации, но иллюстрирует ключевую тенденцию. Первый из художников будет способен рисовать портреты на необходимом уровне на несколько лет раньше, чем второй.
Безусловно. Именно это всякий раз стоит помнить, когда соискатель настойчиво требует, чтобы его расспрашивали о проектах и участии в них. Хотя чего многие такие соискатели не понимают - что даже в подобном разговоре через слово себя выдают.
Вот с этим в программировании затруднения. "Картины" под NDA и вдобавок слишком масштабны для того, чтобы за время собеседования успеть бросить на них не самый поверхностный взгляд. Можно и часто нужно просить показать "пример кода", но не стоит слишком полагаться на увиденное. Помимо прочего, никто не гарантирует, что человек показывает именно свой код, а не код ведущего гуру, с которым он за время работы над проектом хорошо познакомился.
Да, в общем, не важно, в чём проблема. Важно то, что конкретные люди "не совпали", и как следствие, не смогут эффективно работать вместе.
Кстати, я почти уверен, что хороший кандидат ответит, что это зависит от того, в какой руке художник держит инструмент, а также от общей композиции картины. Это к вопросу о том, что не все глупо выглядящие вопросы таковыми являются.
По какому шаблону? Вы выше тоже нарисовали шаблон, по которому следует задавать вопросы. Какие выводы Вы из этого делаете?
Комплексы, комплексы. Если захотите - нагуглите здесь, на форуме, мой рассказ про собеседование, где мне задавали довольно дурные вопросы "по шаблону", а потом я через стенку услышал, как собеседовавший говорит гендиру: "Если по-хорошему, то его надо сажать в мой кабинет и давать ему мою зарплату". В целом весь этот пламенный абзац - рационализация страха отказа и соответствующего падения самооценки.
Я думаю, правильнее всего сказать так: "Тот опыт, который мы ищем, подразумевает знание GetHashCode на уровне таблицы умножения. Ваш замечательный опыт по запуску космических кораблей, при всём уважении - видимо, не то, что нам нужно". И - меня всегда удивляла уверенность некоторых людей, что именно их опыт нужен везде, и любой отказ - личное оскорбление. Мне вспоминается одна уборщица, которой программист при мне вежливо и деликатно сказал, что во время уборки она регулярно задевает шваброй розетку и вырубает компьютер. Уборщица в ответ устроила скандал в стиле, дословно, "Да я в ЦУПе работала, а тут какие-то засранцы будут мне указывать!" Вот очень похоже. |
||||||||||||||||||||||||||||||||||||
21 фев 21, 13:59 [22284394] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Можно сточить шлицы под углом так, что обычной отверткой можно будет либо только закрутить, либо только открутить ![]()
Почему же. "Программистский" аналог "определения числа e" это, молжет быть, например, синтаксис цикла "for" - если чел его не знает, то, о каком применении можно говорить.
Определения есть, просто их далеко не одно. Как минимум, из того, что, покопавшись в памяти могу вспомнить, можно, действительно, через производную/интеграл, можно через сумму ряда, можно через предел. Точно знаю, что есть и другие способы, но их я уже точно без учебников или гугла вспомнить не смогу. |
||||||||||||
21 фев 21, 14:22 [22284400] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Почему бы эти вопросы не дать в виде онлайнового теста, если так уж хочется. Это сэкономит время всем участникам и деньги собеседующим. Собеседование "с глазу на глаз" оно как раз чтобы "за жизнь" поговорить. К примеру, посмотреть как чел умеет рассуждать и решать практические проблемы. А отрывать от работы как минимум синьора, чтобы он только по бумажке готовые вопросы озвучил, а по другой бумажке ответы сверил это более чем нерационально. |
||||
21 фев 21, 15:02 [22284411] Ответить | Цитировать Сообщить модератору |
17-77 Member Откуда: Сообщений: 1493 |
у него и так есть стандартная реализация, в случае с int / string ничего переопределять не надо, а мы тут трем за переопределение и нет тут никакого спора - я просто хочу понять, почему я этого не знаю, точнее почему мне этого не потребовалось, потому как, если бы потребовалось - узнал бы
так я dictionary использую
ну вот, я и об этих граблях не знаю, потому что никогда так не делал, ключом всегда был int/string/guid равно как например lock(this) и прочие подобные штуки - это кстати меня всегда смущало на собесах. меня спрашивают почему не надо делать так, как я никогда не делал, а мне даже и ответить нечего
и как надо? переопределять GetHashCode и Equals? Сообщение было отредактировано: 21 фев 21, 15:08 |
||||||||||||||||
21 фев 21, 15:12 [22284415] Ответить | Цитировать Сообщить модератору |
Ares_ekb Member Откуда: Екатеринбург Сообщений: 1587 |
Я согласен с тем, что позиция "нужно разговаривать с человеком только о жизни и не задавать никаких технических вопросов" наверное слишком утрированная. Хотя, на мой взгляд, можно понять уровень кандидата и не проводя для него экзамен. Наверное не нужно бросаться в крайности. |
||||||||||||||||||||
21 фев 21, 16:29 [22284441] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Лучше всего было бы договориться баш на баш - я им показываю кусок своего кода, а они мне кусок своего. А то регулярно как распишут как у них все круто, вопросы умнейшие позадают, а проект потом откроешь и там полный п. |
||||
21 фев 21, 16:46 [22284447] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Ну так они именно для того и придуманы. Переопределять то, что считать одинаковым по умолчанию на то, что считать одинаковым по семантике. А для совсем хорошо можно еще переопределить операторы == и != и добавить интерфейс IEquatable. Если ты посмотришь в сам .NET, то большинство имеющихся в нем из коробки структур именно так и делают. Сообщение было отредактировано: 21 фев 21, 16:48 |
||||
21 фев 21, 16:54 [22284449] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
При большом желании можно вообще одними массивами обойтись. Только зачем, если есть более подходящие структуры данных. |
||||
21 фев 21, 17:01 [22284454] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Тем, что зло. Тем, что абьюз. ![]() Если серьезно, то 1) Наследование, как субклассирование (отношение общее-частное) - добро и мастхев. Наследование, как замена композиции - зло и уг. А на деле намного чаще сталкиваешься именно не с первым случаем, а с последним. 2) Правильное наследование это, как я уже неоднократно писал штука намного более нетривиальная, чем просто написать "public class Foo: Bar". По этому поводу я полностью согласен с Рихтером, что наследовать можно только те классы, которые специально задизайнены для этого. Если нет, то делать sealed. Замена потом sealed на не-sealed в случае надобности не ломает совместимости, в отличие от обратной замены. Плюс можно получить некоторый выигрыш в производительности при вызове виртуальных методов - компилятор оптимизирует и виртуальные (т.е. override) методы в случае sealed вызываются как обычные без обращения к VMT. |
||||
21 фев 21, 18:03 [22284475] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Да я так-то наоборот уже давно с этой "общественной работы" всегда пытался при возможности соскочить. |
||||
21 фев 21, 18:06 [22284477] Ответить | Цитировать Сообщить модератору |
love_bach Member Откуда: Сообщений: 751 |
А DTO наследовать? Что бы меньше копипастить, это к какому варианту? |
||||||||
21 фев 21, 18:54 [22284495] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Зачем тогда зовут? Если заранее известно, что скорее всего откажут |
||||||||||||||||||||||||||||||||||||||||
21 фев 21, 19:08 [22284501] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Плевать да, что человек время тратит на дорогу, деньги за проезд, нервы свои? |
||||
21 фев 21, 19:20 [22284509] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Я знаете как иногда делаю: когда непонятная контора зовет на собес., мне что-то в ней не нравится или по телефону разговор не понравился, я договариваюсь на попозже там на 19.00, 19.30 типо раньше не могу, так как работаю. А сам туда просто не приезжаю, и к телефону от них не подхожу ни в этот ни на следующий день =) |
21 фев 21, 19:27 [22284511] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
Не могу понять смысла. А почему просто не отказаться? |
||||
21 фев 21, 19:44 [22284522] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Ну просто. Сделать гадость в радость. Если бы поиск работы - это было адекватно, то конечно да, можно просто отказаться. |
||||||||
21 фев 21, 19:48 [22284523] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
В смысле? В радость просто так нагадить совершенно незнакомым людям? |
||||||||
21 фев 21, 19:49 [22284526] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Не не знакомы, а потенциальному работодателю, это разные вещи =) Они же у нас гордые, с обратной связью 1 на 100 возвращаются, тогда почему нет-то? |
||||||||
21 фев 21, 19:54 [22284528] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3198 |
Если кандидат не пришел на позднее собеседование - так это конторе еще повезло.
|
||||||||
21 фев 21, 20:28 [22284542] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Хватит, это совсем крайности |
||||||||
21 фев 21, 20:37 [22284547] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
А чем DTO особенное - такой же класс, как и другие. |
||||
21 фев 21, 20:46 [22284549] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Ну как же "зачем". Поунижать, поглумиться, почесать свой ЧСВ. Больше ведь у них никаких печалей нет. |
||||
21 фев 21, 20:53 [22284551] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Только зачем? Если видят по тексту резюме, что человек им не подходит зачем звать и издеваться? |
||||||||
21 фев 21, 21:57 [22284571] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Но многие всё же достаточно практичны, то есть их применение не-экспертом даёт выигрыш. А SOLID я именно за это не люблю: хороший разработчик даже если никогда о них не слышал, сделает хороший дизайн (в том числе с уместным применением этих принципов там где надо и уместным неприменением там, где не надо), а хреновый - лучше бы не знал про этот SOLID, потому что в попытках его применить иллюстрирует известную пословицу насчёт "лоб разобьёт".
Ну вот аналогия как раз очень неаналогичная. Смотри: цикл for - постоянно применяемая штука, для чего нужно знание его синтаксиса и свойств. Число е - само по себе, вне логарифмов итп. - не то чтобы часто применяемая штука, а "определение числа е" - тем более далеко от повседневной деятельности.
Вопрос не в том, что не одно, а в том, что они не несут ключевых свойств. Вот, скажем, число пи. Оно определяется как отношение длины окружности к диаметру - и будет трудно найти здесь человека, который его не вспомнит, вопрос лишь в том, насколько косоязычно он это "вспомнил" сформулирует. А у числа е такого осмысленного определения попросту нет. Поэтому лично у меня к человеку "помню, что есть число е, помню, что с ним вот такие прикольные феньки, но определения не скажу" никаких претензий не будет. Точно так же, как не будет к человеку, который скажет, что помнит про существование какой-нибудь редко используемой фишки языка, но затрудняется уверенно воспроизвести её синтаксис. |
||||||||||||
21 фев 21, 22:56 [22284586] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Так можно вообще обо всем сказать. В результате вот и имеем, что имеем. Дай бог никогда не сесть на самолет, которым будет управлять такой вот "хороший пилот". Сообщение было отредактировано: 21 фев 21, 23:06 |
||||
21 фев 21, 23:12 [22284590] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Странно задавать мне вопрос, подразумевающий всех работодателей страны. Лично я, когда ищу сотрудников, обычно публикую простенькую задачу "на пять минут" и смотрю, как человек её решит. При этом предупреждаю - если хотите, можете не решать и приехать на собеседование сразу, но тогда шансы уйти с собеседования в первые пять минут резко повышаются. Какую задачку... ну вот, например, 11739508.
Сверять ответы по бумажке вообще нерационально. Можно обойтись в десять раз меньшим количеством вопросов и значительно выиграть в качестве, если обращать внимание не только на сам факт ответа, но и на тонкости. Да и в целом идти сверху вниз по длинному вопроснику глупо и неэффективно - чаще всего кандидат первыми же ответами вполне однозначно себя позиционирует, и следующие вопросы стоит задавать уже сообразно тому уровню, который он показал в ответах на первые. |
||||||||
21 фев 21, 23:16 [22284592] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Каждому да воздастся по вере его. Мне вот стрёмно садиться в самолёт, которым управляет кто-нибудь из "поколения фиолетовых стрелок". |
||||
22 фев 21, 01:05 [22284608] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Могу подсказать. Если бы вы знали, то может в каких-то случаях вместо ключа типа $"{one}:{two}:{three}" определили бы структуру со своим хешем для ключа. Я так делал. И делал потому, что знал. И получил в определённом кейсе значительный профит. И получил его очень и очень дёшево. Просто потому что знал. Просто взял и сделал, проверил -- работает, профит достигнут. Разумеется такое далеко не всегда нужно. Но когда нужно, а вы тупо не знаете, то тупо и не решите. Понимаете? Представьте себе врача, к которому вы пришли. Ему за свою практику довелось лечить только один десяток болезней. А вы пришли с другой. Он как и многие очень странные люди здесь, придерживается мнения. Если мне чего-то на задавали, то знать не надо. Поэтому он берёт и лечит вас от тех болезней, которые знает. А вы чёто не вылечиваетесь, а потом идёте и пишите гневные письме, комментарии про врачей-бездарей. Как-то не комильфо, да? :) |
||||||||
22 фев 21, 01:13 [22284613] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Непонятно зачем заменять наследованием композицию. Это как молоток заменить на зубило, зачем? И говорить, что это зло :)
А ты знаешь толк в извращениях. Я со своими идеями абьяза IEnumerable даже рядом не сидел с твоими глобальными ![]() |
||||||||
22 фев 21, 01:17 [22284615] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
![]() |
||||||||
22 фев 21, 01:18 [22284616] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Это старое пугало, где-то второй половины девяностых. На C++ были такие экзотические товарищи, которые вместо private member A приватно наследовали класс ещё и от A. На других языках это хрен повторишь, но пугало-то осталось. В общем, примерно как спагетти из goto - сегодня почти никто даже не представляет, как оно выглядело и почему так писали, но все выучили как отче наш, что goto - это плохо. Причём это не мешает им каждый день этим же goto пользоваться ![]() |
||||
22 фев 21, 01:40 [22284618] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Ни разу в шарпе не видел goto, даже у индусов. Год или два назад даже не смог вспомнить есть ли оно там вообще - специально тогда даже в документацию полез прооверить. |
||||
22 фев 21, 02:52 [22284621] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Потому что некоторым кажется, что "так проще". Типа, давайте, не будем объявлять и инжектить поле в каждый класс а сделаем все это в базовом. Да только потом получается, что это та самая простота, которая хуже воровства.
Например. Вася написал класс Foo. Ты написал класс Bar, который, допустим, получает объекты Foo и складирует их в HashSet. А Петя взял и написал класс: class Abuse: Foo { public override int GetHashCode() => 0; } Потому что Петя просто не знает, как твой любимый GetHashCode пишется. А потом взял и скормил свой класс твоему классу, и в результате чего твой HashSet встал колом. |
||||||||
22 фев 21, 03:05 [22284622] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Тут не то. Допустим у меня есть что-то, что я хочу повторно использовать в нескольких классах. Если я это "что-то" выношу в отдельный класс и вставляю его куда-либо как зависимость, то у меня всегда есть выбор нужно оно мне на самом деле там или не нужно - это композиция. Если же я это "что-то" помещу в базовый класс, то оно полезет во все производные классы, даже если мне этого в каком-то случае не надо. И это случай, когда это "что-то" только одно. А теперь, представь, что этого "чего-то" три штуки: A, B, и C, и в одном классе мне нужны только A и B, в другом B и С, в третьем только B, а в четвертом все три вместе. Это, кстати, очень перекликается с "сегрегацией интерфейсов" ("I" из SOLID). Все интуитивно понимают, что несколько меньших интерфейсов лучше чем один здоровенный (ведь молоток и отвертка отдельно удобней чем молоток, рукояткой которого можно еще и шурупы крутить), но намного меньше народа может сходу сказать почему именно (проверено на собеседованиях). Сообщение было отредактировано: 22 фев 21, 03:21 |
||||
22 фев 21, 03:27 [22284623] Ответить | Цитировать Сообщить модератору |
Alexey Tomin Member Откуда: Самара Сообщений: 1965 |
Потому что люди знают частности, но забывают общее. А ведь почти весь SOLID - это просто помощь к написанию хорошей абстракции. А вот "абстракция"- это очень важное понятие, более общее, кстати, чем ООП. |
||||
22 фев 21, 09:23 [22284629] Ответить | Цитировать Сообщить модератору |
17-77 Member Откуда: Сообщений: 1493 |
т.е. так: class MyClass { public int Key1 { get; set;} public int Key2 { get; set;} // other properties } struct MyClassCompositeKey { public int Key1 { get; set;} public int Key2 { get; set;} public override int GetHashCode() { // override } public override bool Equals() { // override } } и потом Dictionary<MyClassCompositeKey, MyClass> ? а что за кейс?
а в каком вашем кейсе hashset лучше чем dictionary ? |
||||||||
22 фев 21, 13:05 [22284703] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Dictionary нужен там где нужен быстрый поиск элемента по ключу. Если нужна просто коллекция с уникальными элементами, то HashSet как раз для этого. Плюс HashSet поддерживает операции с множествами (объединение, пересечение, разность и проч.), чего у Dictionary в принципе нет. |
||||
22 фев 21, 14:20 [22284746] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Не более стремно, чем садиться в самолет, которым управляет пилот, не знающий, к примеру, что такое "эшелон перехода" и "глиссада", потому что он "хороший пилот", так что "посадит самолет и без этого". |
||||
22 фев 21, 20:03 [22284870] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Мне для начала интересно, как изобретатель сего извращения будет выкручиваеться если хотя бы одно из полей строка и может содержать ":". |
||||
22 фев 21, 20:05 [22284872] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Подсказываю: switch, break, continue, catch, finally - это всё формы goto :) |
||||||||
22 фев 21, 23:41 [22284976] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Выучить-то выучили, но уже даже не знают, что такое go to, а также не знают, что его не существует ![]()
Пример настоящего go to, которого не существует, но с которым до сих пор борются: class MyGotoClass { void Func1() { Label1: goto Label2; } void Func2() { Label2: goto Label1; } } |
||||||
23 фев 21, 00:23 [22284991] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
А также все остальное, кроме if. Если у меня дома электропечка с электричеством от тепловой электростанции, то это не значит, что я на дровах дома готовлю. |
||||
23 фев 21, 00:48 [22284996] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Интересно, что бы ты сам сказал на интервью челу, который бы заявил, что все это ему нафиг не упало, потому что есть goto и ему его всю жизнь было достаточно. |
||||
23 фев 21, 00:53 [22284998] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Ты не понимаешь ![]() ![]() |
||||
23 фев 21, 01:56 [22285007] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Ты уж определись - у тебя то "молодежь про goto вообще не знает", а теперь у тебя они наоборот "goto вместо исключений". Сообщение было отредактировано: 23 фев 21, 02:58 |
||||
23 фев 21, 03:05 [22285014] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Если бы он назвал статью "Goto statement is Evil", то флейма было бы еще больше ![]() |
||||||||
23 фев 21, 03:51 [22285015] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Погромисты ![]() ![]()
Из той же главы той же книги:
И короткое определение структурного программирование:
Сообщение было отредактировано: 23 фев 21, 10:44 |
||||||||||||
23 фев 21, 10:44 [22285043] Ответить | Цитировать Сообщить модератору |
bk0010 Member Откуда: Сообщений: 5029 |
|
||||
23 фев 21, 13:35 [22285116] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Вы предлагаете отказаться от if, заменив его условным циклом? И в чём разница будет? |
||||
23 фев 21, 18:25 [22285269] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Речь шла о том, каким минимальным кол-вом управляющих конструкций можно теоретически полностью обойтись. "Do-until" и "switch" заведомо избыточны, но никому отказываться от них в голову не придет. |
||||
23 фев 21, 19:28 [22285310] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
питон обходится без switch. |
||||
23 фев 21, 19:56 [22285322] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Ну и что хорошего? За столом можно обходиться без вилки и есть все только ложкой, только зачем, если удобней пользоваться и тем и другим. |
||||||||
23 фев 21, 20:03 [22285325] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
не знаю, мне кажется else if удобней чем switch. |
||||||||
23 фев 21, 20:06 [22285326] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
switch, по идее, эффективнее. Изначально он записывался так: ON i GOTO label1, label2, label3, label4, label5 Именно поэтому КР сделали в Си реализацию с необязательным break-ом в конце, это соответствовало привычному мышлению и стилю кодирования того поколения. Ну а то, что требование брейка перетащили в последующие языки - это уже просто карго-культ, вызывающий гомерический хохот. |
||||
23 фев 21, 21:13 [22285358] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
На самом деле разумно. Если ты в C не ставил явно break, то выполнение кода продолжалось дальше по всем остальным case пока break не встречался. Я с трудом могу сходу придумать, когда такой сценарий мог бы быть очень уж полезным, а вот баг сделать при этом из-за банальной опечатаки (забыл break написать) очень легко. Шарп, впрочем, при этом ничуть не запрещает объединять несколько case-ов, если они относятся к одному блоку кода и между ними кода нет. |
||||
23 фев 21, 21:49 [22285366] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
В последующих словах ни одно так и не объяснило, чем же это разумно. Разумным было бы подразумевать break в конце секции в любом случае и, может быть, игнорировать его, если он там есть (либо ругаться - тут можно спорить, какой вариант правильнее). Но так было бы, если бы Java создавали в двухтысячных, а не в девяностых. |
||||
23 фев 21, 22:06 [22285373] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Я тоже, кстати, так когда-то думал. Но тогда нельзя будет написать так: switch(foo) { case 1: case 2: .... break; case 3: case 4: ...... break; default: ..... break; } |
||||
23 фев 21, 22:52 [22285385] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Можно: class SwitchTest { static void Main() { Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large"); Console.Write("Please enter your selection: "); string s = Console.ReadLine(); int n = int.Parse(s); int cost = 0; switch (n) { case 1: cost += 25; break; case 2: cost += 25; goto case 1; case 3: cost += 50; goto case 1; default: Console.WriteLine("Invalid selection."); break; } if (cost != 0) { Console.WriteLine($"Please insert {cost} cents."); } Console.WriteLine("Thank you for your business."); // Keep the console open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); } } /* Sample Input: 2 Sample Output: Coffee sizes: 1=Small 2=Medium 3=Large Please enter your selection: 2 Please insert 50 cents. Thank you for your business. */ Выше правильно сказали: необходимость break в switch - это наследие, от которого нужно было избавиться при создании c#. Но что-то пошло не так. Сообщение было отредактировано: 23 фев 21, 22:51 |
||||
23 фев 21, 22:56 [22285388] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
Поискал, в Java пытаются избавиться от break :)int count = 2; int value = switch (count) { case 1, 3, 5 -> 12; case 2, 4, 6 -> 52; default -> 0; }; |
23 фев 21, 23:09 [22285392] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Например, вытесняющий кеш со сложной политикой компактизации.
Когда нужно работать с обработкой больших наборов данных, где нужно получать пересечение, объединение, исключение, симметричные исключения, проверять подмножество, надмножество... Подозреваю, в вашей практике тоже не доводилось с этим сталкиваться? ) Ну чтож. Тогда вам и не надо это знать. Даже для интереса, ибо зачем оно нафиг нужно? ![]() Сообщение было отредактировано: 23 фев 21, 23:51 |
||||||||||||
23 фев 21, 23:57 [22285406] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Почему бы не решить такую задачу на РСУБД? |
||||
24 фев 21, 00:10 [22285414] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Можно. Но и на современных РСУБД можно и программы целиком писать. Суть в другом. Почти невозможно получить опыт применения всех инструментов. Но если человек себя позиционирует как C# программист и хочет развивать свой скилл в этом направлении, то знать основные и базовые вещи -- нужно, а также иметь какие-то знания и понимание об отдельных аспектах. Это огромный пласт знаний, зачастую нужно просто знать про наличие тех или иных решений, а не загружать в голову MSDN. Если вы их не знаете, для вас будет закрыт целый пласт возможных решений. |
||||||||
24 фев 21, 00:26 [22285420] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Я знаю, что можно. Вопрос почему в вашем случае не решить на РСУБД эту задачу? Конкретика нужна. И не я первый спрашиваю конкретику. Пока всё, что вы написали в этой теме, звучит как "я знаю c#, поэтому все задачи решаю только на c#". А чем тогда все остальные программисты занимаются? Они работают, приносят деньги своим компаниям, им платят зарплаты. И тут вы один единственный Дело в том, что сложные задачи редко решают на языках общего назначения (ява, си шарп). Их обычно решают на системных языках (си, си++, раст). Пакуют в библиотеки, а потом весь мир пользуется. Писать на языках общего назначения всё подряд можно, конечно, но при таком подходе есть как минимум одна очевидная проблема: таких же извращенцев поискать надо, чтобы штат укомплектовать. |
||||||
24 фев 21, 00:51 [22285430] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Мы не обсуждаем никакой "мой случай".
Не понимаю к чему вы ведёте. Какой ещё "белый конь"? Не надо мне лепить свои бредовые ярлыки. Цитируйте, где я там позиционировал себя как "единственный на белом коне". А то выглядит, как трансляция фантазий.
Опять не понимаю к чему вы ведёте. Какие ж тогда должны быть знания у программиста C#? Никаких получается? И спрашивать ничего не надо? Ведь всё сложное написано уже на С++, а теперь с работой программиста справится даже обезьяна? Какие-то опять школьные отмазки я слышу. "Да нафига мне эта ваша матиматега с историей?" ![]() |
||||||||||||
24 фев 21, 02:11 [22285440] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
то есть самому не приходилось? :) |
||||
24 фев 21, 08:52 [22285460] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Да это с вашей стороны отмазки. Есть типичные задачи на c#. Есть типичные зарплаты. Вы же ждёте от людей за типичную зарплату глубокого знания платформы. А когда вас спрашивают "а зачем?", вы начинается отмазываться шутками про обезьян. Может это какой-то страх остаться без работы? Вы боитесь, что ваши задачи настолько типичны и настолько не требуют специальных знаний и навыков, что вы специально изобретаете нестандартные решения, чтобы обезьяны их не понимали? ![]() |
||||
24 фев 21, 09:42 [22285477] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
И не надо такого убожества. В нормальных языках это пишется так: case foo of 0, 11: ... 1..10: ... else ... end; |
||||||||
24 фев 21, 11:19 [22285518] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Я не рассуждаю на уровне "молодёжь", "американцы", "женщины" итп. Подобные обобщения - заведомая глупость. Прочитай то, что я написал, не пытаясь заменять сказанное подобными нелепыми ярлыками, и ты увидишь, что никаких противоречий нет. |
||||
24 фев 21, 11:22 [22285521] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Приходилось конечно. Как пример, один из самых частых кейсов, использование в юнит-тестах. Как я понял Андрей Юниор предлагает везде где нужен HashSet использовать РСУБД, видимо чтобы закрыть дыры в своих знаниях :) |
||||||||
24 фев 21, 11:59 [22285548] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Давайте список типичных задач на C#. Можете конкретику привести?
Страха как раз нет. Если вы сами не можете ответить на вопрос "а зачем?", значит вы максимум джун, так как это вопрос джуна. Значит вам пока нельзя предложить серьёзную работу, интересеные задачи, соответственно, и достойный уровень ЗП. На какие-нибудь копипаст-формы посадить, там ничего особо и знать не надо. Вот эти самые для вас "типичные задачи". А судя по вашим ответам, вы не собираетесь расти. Это ваше право, осуждать вас за это никак не могу. |
||||||||
24 фев 21, 12:06 [22285554] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Это просто наследие Си :) |
||||
24 фев 21, 12:26 [22285583] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Ну и уже четверть века как пора бы избавиться от этого наследия. Оно было понятно в семидесятых (за исключением лишнего ключевого слова case, которое по мне было не нужно и тогда), но в девяностых уже было откровенно устаревшим и мешающим. |
||||
24 фев 21, 13:20 [22285640] Ответить | Цитировать Сообщить модератору |
Дикий Билл Member Откуда: Сообщений: 9599 |
vb.netSelect Case foo Case 1 To 5 ... Case 6, 7, 8 ... Case Else ... End Select |
24 фев 21, 13:27 [22285648] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
В шарп уже несколько лет как pattern matching завезли, а недавно еще и switch expressions. |
||||
24 фев 21, 13:56 [22285678] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Все равно я пассаж про goto совсем не понял. |
||||
24 фев 21, 14:03 [22285688] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
А какую зарплату считать "типичной"? Сообщение было отредактировано: 24 фев 21, 13:58 |
||||
24 фев 21, 14:05 [22285691] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Какой из? |
||||
24 фев 21, 14:07 [22285693] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Если собрать список, чего бы в C# надо убрать и добавить, без учёта обратной совместимости, списочек может получиться довольно внушительным :) Лично меня бесит, прям сильно, что нельзя определить свойство обязательное к заполнению. Только через конструктор. Пример: public class (или record) SomeRecordClass { ... // так как это не nullable, хочется обязать разработчика всегда заполнять это свойство // иначе по умолчанию значением будет null, но единственный способ заставить разраба // обязательно задать значение — только через конструктор public SomeOtherRecordClass SomeProp { get; init; } ... } |
||||||||
24 фев 21, 14:20 [22285711] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
Сильная аргументация. А конкретика есть? ![]() ![]() Такой подход загадочности и попытки давления "авторитетом" работает обычно на детях. А это форум как-то не про лунтиков. |
||||
24 фев 21, 14:33 [22285726] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Не очень понимаю механизм обеспечения этой обязательности. Что-то типа https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-9.0/init ?
Да нет. В общем-то, это часть более общей задачи проверки целостности - перед началом "операции" убедиться, что всем нужным параметрам присвоены разумные значения. В целом - ничего не имею против разумного и удобного решения, но не сказать что считаю вопрос важным и страдаю без такого. |
||||||||
24 фев 21, 14:39 [22285739] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Я что-то не увидел вашей конкретики. Где список типичных задач? А посему, вы обычный тролль. Мне вас жаль. |
||||||||
24 фев 21, 14:40 [22285742] Ответить | Цитировать Сообщить модератору |
Андрей Юниор Member Откуда: Москва Сообщений: 693 |
А зачем мне с вами в одни ворота играть? Вы сначала свою конкретику, которую у вас просили несколько человек, предоставьте. Но вместо конкретики вы в который раз оскорбляете людей. ![]() |
||||
24 фев 21, 14:44 [22285746] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Инициализация через определение свойств: new Some { Prop1 = 1, Prop2 = 2,... } не скомпилируется, если вы не указали значение, например, обязательного свойства Prop3. Таким образом вы используете удобный и привычный синтаксис, но можете применять строгие контракты там, где это требуется.
Если вы захотите включить строгий режим допустимости значения null для ссылочных типов, то пострадать придётся :) А без строгого режима фича nullable references не приносит той пользы, которую должна по идее приносить. Т.е. у вас ссылочные свойства классов/записей не объявленные как nullable (например, string?), будут гадить предупреждениями в лог сборки и подсвечиваться как ошибка, так как никто не гарантирует ни на каком уровне вообще, что там не окажется nullю |
||||||||
24 фев 21, 14:50 [22285756] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Вы мне какие-то ярлыки вешаете с ходу. Про белого коня какого-то. А теперь ещё и врёте про оскорбления. Требуете конкретики, без какого-либо смысла и повода, а сами её не даёте. Т.е. ведёте себя как обычный глупый тролль. |
||||||||
24 фев 21, 14:53 [22285763] Ответить | Цитировать Сообщить модератору |
softwarer Member Откуда: 127.0.0.1 Сообщений: 64866 Блог |
Да, согласен, это была бы толковая фича.
Сформулирую так. Я не пользуюсь C# и не уверен, что готов на должном уровне компетентности обсуждать эту фичу - применительно, например, к вопросам оптимизации. В качестве короткого мнения - я считаю её вредоносной и поощряющей плохое программирование, и включать, соответственно, не стал бы. Сообщение было отредактировано: 24 фев 21, 15:02 |
||||||||
24 фев 21, 15:09 [22285787] Ответить | Цитировать Сообщить модератору |
Slant-shadow Member Откуда: Сообщений: 391 |
Вы кандидатов своих здесь постоянно оскорбляете, пишите, что они тупые, ничего не знают. А вы такой крутой, всем отказываете ![]() |
||||||||
24 фев 21, 15:32 [22285810] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Это и вправду неудобно. Но, как раз, можно было бы добавить не ломая совместимость. Напиши в Комитет, или как там у них сейчас это называется.
Более того, если "nullable enable" то этот код без ctor вообще не соберется (по крайней мере без предупреждений). |
||||||||
24 фев 21, 15:36 [22285815] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Не слушай его. Крутой тут только я. А все кандидаты тупые. ![]() ![]() |
||||
24 фев 21, 15:37 [22285819] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
NRF (nullable reference types) работает только на уровне статического анализа (хотя вообще, если честно, как раз хотелось бы побольше - чтобы он мог еще и null checks по желанию в код сам вставлять) и на результат компиляции никак не влияет. |
||||
24 фев 21, 15:49 [22285835] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Ну я ж любя. Или мы нежные тут все, надо токо по голове гладить и печенькой в нос тыкать? :) |
||||
24 фев 21, 18:27 [22285954] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Ну почему, warning можно превратить в error :) И не будет компилиться. Просто сейчас так делать не стоит, так как свойства обязательными для задания значений сделать нельзя, придётся либо конструкторы лепить, либо баловаться = default! что прям не найс. Сообщение было отредактировано: 24 фев 21, 18:23 |
||||||||
24 фев 21, 18:29 [22285956] Ответить | Цитировать Сообщить модератору |
fkthat Member Откуда: Сообщений: 4341 |
Кстати, вот такой код (с nullable enable) проходит вообще молча: public struct Foo { public string Bar { get; set; } } Foo foo = new(); string fooBar = foo.Bar; Для структуры никак нельзя "отменить" default ctor, а значит всегда будет способ not null инициализировать в null. В nullable reference types все-таки хватает каких-то недопиленных моментов. |
||||
сегодня, 16:30 [22287318] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: 1 2 3 4 5 6 7 8 9 10 .. 12 [все] |
Все форумы / Работа | ![]() |