Luxoft Java Hiring Week - $2000 бонусу, круті проекти та подарунки! Реєструйся!
×Закрыть

Епам и .Net разработчики

Интересное явление наблюдаю в отношении Киевского Епама по отношения к разработчикам .Net.
Вообщем
Работаю в Люксе. (что уж тут скрывать) Между Епамом и Люксом заключен пакт о не нападении о не переманивании сотрудников (Но это не мешает особо интересных перетягивать). Вообщем приходит мне предложениие от Епама пообщаться на интересный проект(я удивлен). т.к. как раз пришло время «размяться» — пошел на собеседование. Пообщался.
Что сказать- гожусь на джуна, но так уж и быть они сжалятся и возьмут к себе мидлом. Думаю, ок что то я закостянел- открыл Рихтера- и начал смотреть- в чем же я оказался не прав... оказалось во всем прав, но инсайдер с Епама мне сообщил- что я стреском провалил собеседование. Парелельно со мной в Епам на собеседовани ходили мои друзья (толковые ребята)- результат тот же..... джуны... погранично в трейни- на большее не годятся. Для примера- ребята отлично знают свое дело, хороший английский, есть референсы с прошлых и текущих мест работы.
Я одно не могу понять- что это было?
Попытка сбить цену?
Просто с таким подходом имидж Епама (если он важен для компании) скоро упадет до уровня Арт-мастер или Daxx.

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

Похожие топики

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Ребята, всем спасибо за ваши комментарии.
Цель достигнута- мнение общественности услышано.
Выводы: «проигрывать» тоже надо уметь. Не только же вежде плюшки получать. Будемс работать над собой, учиться и дальше ходить по собеседованиям.

мнение общественности услышано
Можно подумать это кого-то остановит :)

А Вы представляете, если бы такая крупная компания вдруг перестала бы приглашать на интервью? Ну, т.е., например, у них нет вакансий, аккаунты закрываются... Какой бы шум поднялся? Акци по $5... А так: позвали, Вы не прошли, все теперь думают, что ЕПАМ настолько серьезен -)
По поводу ЕПАМа это только мои спекуляции, но другие такие компании знаю, у которых по году висят одни и те же вакансии, ходят люди, никого не берут, процесс неспешно вертится..
Вобщем, не обращайте внимания, если можете спать спокойно, не работая в ЕПАМе!

у, т.е., например, у них нет вакансий, аккаунты закрываются... Какой бы шум поднялся?Акци по $5... А так: позвали, Вы не прошли, все теперь думают, что ЕПАМ настолько серьезен -)
Ниче такое воображение, годное ))

Ну 4 роки тому так і було:)

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

С 10ти летним опытом работы определять в джуны? Забейте, может просто выполняли план по кол-ву собеседований.

С 10ти летним опытом работы определять в джуны?
Мне попадались Senior и с 15+ лет опыта работы (из них 8+ на .Net), которые и на джуна лишь с натяжкой тянули... Выслуга лет в IT очень мало что значит, если человек плавает даже в самых элементарных вопросах...

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

Не все так однозначно на самом деле и многим лень готовится к вашим теоретическим экзаменам
Так а кто заставляет? Могут сидеть на своих текущих рабочих местах с текущими окладами и не тратить свое и чужое время... Если человеку даже лень освежить память, погуглить классические вопросы и типа, «Чем ValueType отличаются от ReferenceType?», значит ему по сути новая работа не нужна совершенно и он лишь сознательно впустую тратит свое и мое время.... Я уже очень давно мечтаю ислючить этот вопрос из собеседжования, но пока 30% кандидатов на роль Senior не способны вообще ничего внятного ответить на этот волрос, мне приходится его оставлять... (((
сомневаюсь что каждый может подробно вспомнить как работает GC в .NET
Этот вопрос я сам бы завалил. Я помню и про поколения и про реинкарнацию, но ни разу за 9 лет ничего из этого не встречал на практике, кроме правильного обращения с IDisposable.
далеко не факт что они такие бестолковые на самом деле как вы пытаетесь представить и вполне возможно что могут решать задачи которые вашим джунам и не снились.
Когда Senior c 10+ годами опыта в .Net заявляет, что:
1) Модификатор protected ограничивает область видимости namespace’ом
2) В .Net возможно множественное наследование классов
3) Чем ValueType отличается от ReferenceType я не помню, но точно знаю, что ValueType _НЕ_ унаследован от Object
4) Что такое CallStack? Первый раз слышу...
5) Как объявить generic List для хранения обектов типа MyClass? Не помню, нужно MSDN смотреть....
6) И на остальные 80+% базовых вопросов следуют уверенные ответы в том же духе....
То извините, но с такими знаниями я человека на интерна к себе не возьму, не то что на Senior.

Можете повесить мне на DOU ярлык «Мудак года», но я реально не понимаю, как человек с нулевыми знаниями сможет писать качественный код. Я допускаю примерно 40% неправильных ответов на собеседовании, но что-то таки знать нужно, не так ли???....

Можете повесить мне на DOU ярлык
Да не, все по делу

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

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

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

Возможно кандидаты вас просто тролят
Сказал анонимный тролль...)))

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

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

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

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

У каждого дни проходят по разному, бывало что после года одного из проектов я с трудом мог написать SQL запрос, но до этого проекта я писал SQL запросы без справочника практически любой сложности, значит ли это что я стал #удаком не знающего даже азов SQL. ;-)
Экзамен есть экзамен и к нему нужно готовиться чтобы сдать, имея в своем распоряжении список тем для подготовки таким образом интервьер и соискатель будут в равных условиях на собеседовании — иначе вас обосрут: вчера джун (прямо с экзамена в ВВУЗе) приходил и все это помнит, а ты синьор и ничего этого не знаешь ;-)

Все мелочи досконально и «знать азы» это достаточно разные вещи.
А как иначе, по-вашему, надо обходиться с кандидатом в сеньйоры? Угостить кофе, посмеятся вместе с бывших проектов, нарисовать ноли зарплаты на stick-it бумажке, хмуро и задумчиво кивнуть друг другу и сообщить о приеме на работу?

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

надо проверить не забыл ли за погонами и орденами человек азы.
Азы они разные бывают. Простой пример из джавы, там есть WeakReference (в дотНете вроде то же), SoftReference. Что они делают — это азы и это часто спрашивают. Вот только их использование я видел 1 раз, и то как костыль для кривого кода.
Смысл спрашивать?

Если это азы, то желательно их помнить и быть готовым рассказать. По-вашему можно сказать что и как устроен int или double знать не надо, главное не забыть что когда применить...?

OK. на многих проектах забугорному заказчику нужны синйьоры которые аккуратно и целеустремленно будут перемешивать 10летний G-код. Что их спрашивать прикажете? Как ctrl-c и ctrl-v нажимается?

По-вашему можно сказать что и как устроен int или double знать не надо, главное не забыть что когда применить...?
Вот недавно разговаривал про Objective C, интервьювер хотел услышать шо все тамошние объекты хранятся в "куче«(heap), а не в стэке. Очень хотелось спросить в ответ: «а вы когда пишите код, часто об этом задумываетесь?»

не задумываются практически никогда, но ровно по двум разным причинам
1. потому что знают
2. потому что не знают :)

и пункт 2 очень печалит

Не совсем. Ну то есть может и знают, но используют на самом деле что-то типа: «<class name=»"> в 10 раз медленнее«, разница в том могут ответить на вопрос «почему?» или нет. Полезно, придает действиям больше осознанности, тешит самолюбие, но чаще всего не особо важно.

По-вашему можно сказать что и как устроен int или double знать не надо, главное не забыть что когда применить...?
От такой вопрос меня бы выбил будь он задан на собеседовании? Что вы ожидаете услышать? Размер в битах? Реальный размер в памяти? Битовую структуру значений?
И главное зачем? Какие выводы вы можете сделать из того что человек ответил на этот вопрос или не ответил?
на многих проектах забугорному заказчику нужны синйьоры которые аккуратно и целеустремленно будут перемешивать 10летний G-код. Что их спрашивать прикажете?
Взять кусок реальной задачи и просить как человек его будет решать. А если гонять по книге Шилтда «Основы языка Х», то что вам это даст? Ну знает человек разницу между устройством инта и дабла, а фреймфорк 10-летней давности нет. От и получаем попандос.
Что вы ожидаете услышать? Размер в битах? Реальный размер в памяти? Битовую структуру значений?
Я вам не скажу за всю Джаву, но если это какойто еmbedded или gamedev или кодеки где надо выгрызать каждую инстукцию\такт путем оптимизации, то я ожидаю даже цитаты из IEEE 754 а не просто размеры в битах

Для java\c# конечно это не понадобится, но если синьйор даже не знает отличаются ли эти типы размерами, ну извините...

гонять по книге Шилтда «Основы языка Х»
Про Шилда конечно смешно, не скрою.

зачем гонять, если пара элементарных вопросов вызывает ступор или не желание отвечать «на такие смешные вопросы», то можно переходить к другим вопросам а потом уже думать нужен ли вам такой синьйор или нет

Для java\c# конечно это не понадобится
Но мы то сейчас говорим о джаве/шарпе. То что для низкоуровневых штук важно — это не вопрос, и тут надо говорить не только про ИЕЕЕ какой-то там, но и про конкретные компиляторы (в некоторых дабл — это число с фиксированой точной)
если пара элементарных вопросов вызывает ступор или не желание отвечать «на такие смешные вопросы»
А если он ответил на эту пару, то что? Какой вывод?

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

если он ответил то можно продолжать разговор и о архитектуре и о паттернах и о доменных знаниях,
А если не ответил что значит слово протектед, то он явно не сможет написать многопоточный код, не сможет делать запросы к БД, пользоваться линком и не сможет построить архитектуру приложения. Да и как вообще возможно писать код без дженериков, ведь дотНет начался сразу с версии 2.0
"или давайте поговорим о более низкой позиции
И на какую позицию он подходит? Не зависимо от его экспертизы в КС, организации процесса, бизнес-анализе и тд.

Богдан, я пытаюсть уловить тонкую иронию, но мне очень сложно, помогайте!

А если не ответил что значит слово протектед, то он явно не сможет написать многопоточный код, не сможет делать запросы к БД...

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

Он то по каждому чиху может на единый мьютекс садить пол-программы. Безопасно? Безопасно! Многопоточно? Еще как! но толку то с таких плодов...

А архитектура она ведь и такая бывает github.com/...terpriseEdition, и на собеседовании сойдет за самую серьезную сеньйорность :)

или определение косинуса.
Легко можно забыть (знаю кандидатов тех. наук которые иногда путают). А вот что тангенс, а что котангенс сходу скажете?
А если не читал
А если читал, но последний раз писал 5 лет назад?
Он то по каждому чиху может на единый мьютекс садить пол-программы.
И сделает это он потому что не ответил что такое протектед или как сделать дженерик, ведь дженерики — это основа многопоточности (эт сарказм, уточняю как и просили)

5 лет бедный пейсал многопоточность в поте лица, а протекдет не пригодился, хотел бы я на такой проект посмореть, чес. слово.

Ок, последни вопрос про многопоточность. Достаточно ли сеньйору вымахивать 5 летним опытом или все таки надо знать отличие крит. секции от мьютекса, рассказать про иерархии локов, о нескольких (>1) подходах к борьье с дедлоками, дать хоть какоето определение дедлоку (своему словами), а livelock’у ? А как на счет lock-free и wait-free алгоритмов и структур? По-моему скромному отсуствие ответов на эти вопросы (даже на часть) это уже большая натяжка на сеньйорность.

Или достаточно сказать что чесно порождал потоки 5 лет подряд и всё, сеньйор первой категории?

Есть далеко неновый но хороший документ www.indiangeek.net/...ency matrix.htm, который неплохо показывает что надо знать что бы примерять погоны, но на нашем рынке IT труда конечно клали на него изо всех сил.

В общем дискуссию предлагаю свернуть, у нас как у слепого с глухим получается отлично, но выхлопу — ноль. Всё равно Вы будете собеседовать, если прийдется, по своему, а я по-своему.

Мне что такое livelock ни один еще не ответил, хотя спрашиваю часто (если конечно про дедлок отвечают).

А не кажется ли что спрашивать такое это задротство чистой воды? Т.е. на свете есть 100500 определений которые можно выучить и сверкать когда проводишь интервью, но к работе это никакого отношения не имеет.

А не кажется ли что спрашивать такое это задротство чистой воды?
Да это вопрос из серии «не ответил — это ничего не значит». Но если человек отвечает с пониманием (+ как отследить и тд), то это уже немного другой уровень (предполагается что человека берут на работу связанную со всякими распределенностями)

Ливлок это какой то сильно малораспространенный термин что бы о нем вообще спрашивать. Обычно лучше спросить типа вы получили сильный деградейшн или вообще полный затык в продакшн апликухе, как такое разруливать?

никто не просил определений, если человек и своими словами отмекатся не может то как можно говорить что он это видел\использовал?

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

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

Про «определение своими словами» писал я сам, но я не цитаты из книг имел в виду, скорее наоборот.

livelock это сильно редкий термин, непонятно как можно дать определение даже своими словами если не знаешь термина из-за его ускользающей расспространенности

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

Не должен, но тогда ты сделаешь шаг на темную сторону.

я спрашивал о livelock’ах во время всех собеседований на синьйорские позиции, меня уже не спасти

Со времен инквизиции остались занятные средства переубеждения

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

Если человек допустил в программе livelock, то его нужно увольнять сразу наxуй, так как такие баги практически неотслеживаемые
Ой какие мы умные: и картинки распознаем, и языковой процессинг шарим, и в распределенных системах мы гуру :)
Такой занятой человек что вряд ли у вас есть время понять что вы написали поэтому переведу:
Если человек допустил ошибку, которую может определить только очень опытный специалист, то его надо уволить.

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

Ливлок чаще всего возникает от любви к фреймворкам, тоорые позворляют без напряга разруливать дедлоки, что в совокупности приводит к тому что возникает ошибка, которая помрет только со смертью проекта. Оттуда и возникают костыльки типа watchdog для суперстабильного Java-сервера.

У C+±ников такого бардака нет, так как там программист знает что пишет код он а не фреймворк.

Ливлок чаще всего возникает от любви к фреймворкам, тоорые позворляют без напряга разруливать дедлоки
Или когда есть много взаимодействующих между собой процессов и при этом у человека не хватило квалификации это разрулить (как правило это задач уровня синьор и выше). Кстати, примеры фреймворком о которых вы говорили, если не сложно.
Оттуда и возникают костыльки типа watchdog для суперстабильного Java-сервера.
У C+±ников такого бардака нет, так как там программист знает что пишет код он а не фреймворк.
Или микропроцессора какого нибудь робота запрограммированного на Ц/ЦПП :)
Кстати, примеры фреймворком о которых вы говорили, если не сложно.

Для Java например этот. Хотя он автоматически не сбрасывает дедлоки.
yajsw.sourceforge.net/#mozTocId81014

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

Если нашел дедлок, просто выведи екзепшен в лог и останови приложение!

Если нашел дедлок, просто выведи екзепшен в лог и останови приложение!
Окуеть! У одного юзера дедлок, завалим весь кластер!
Хотя он автоматически не сбрасывает дедлоки.
yajsw.sourceforge.net/#mozTocId81014
Ну распечатал треддамп. Где ливлок?
Ну распечатал треддамп. Где ливлок?

Ливлок делался ручками через сброс критической секции. Собственно фреймворка для этого готового я нашел.

Окуеть! У одного юзера дедлок, завалим весь кластер!

Зависит от приложения. Можно снести пользовательскую нить (в Delphi это веселее так как нет GC и будет утечка памяти до падения сервера), если есть дедлок. Если дедлок во внутренней сервисной нити, то нужно валить процесс на сервере, пусть его подхватит другой хост из кластера. Важно то что при делоке НЕЛЬЗЯ с помощью шаманства продолжать работу или пользовательсткой нити или всего апликейшена если дедлок во внутреннем сервисе.

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

Ливлок делался ручками через сброс критической секции. Собственно фреймворка для этого готового я нашел.
Тогда вопрос: К чему было трандеть?
Если продолжать работу после дедлока шаманством — это приведет еще и к повреждению данных
А если не шаманством. А просто снять всю инфу которую можно, а потом руками рестартовать (если надо).
-------------
Но это все не решает вопрос:
Почему
Если человек допустил в программе livelock, то его нужно увольнять сразу наxуй
?

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

Просто ливлок ни один QA не отследит и не воспроизведет. И это баг, который остается в проекте практически навечно.

Код ревью помогает находить «вечные» ошибки — не пугайте народ ;-)

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

Это где такой беспредел? в Aspose?

Например в том же НИИ в котором я работал.

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

19 отдел, НИИ «Институт программных систем». Разработка комплекса ГАРТ, что используется пограничными войсками (или службой, там были переименования) Украины.

В НИИ вопрос качества далеко не на первом месте, не стоит за них так переживать. ;-)

Код ревью помогает находить «вечные» ошибки — не пугайте народ ;-)
От с ливлоками или голоданием далеко не всегда получаетсо, особенно когда предполагается распределенность (не только процессы, но и ноды).
Ладно, тогда нужно увольнять его менеджера, который поставил джуниора править многопоточное ядро системы.
Еще раз: ливлок — это ошибка которую может отследить, как правило, очень-очень опытный человек. А допустить ее может и синьор (я про реальных синьоров).
Просто ливлок ни один QA не отследит
Угу, КуА напишут перформенс баг :)

Ладно, подитожим. Я ненавижу ливлоки, так как их крайне сложно найти и отфиксить и ненавижу людей допускающих ливлоки, так как когда мне приходилось такое искать.

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

Подбирайте выражения, это ж не форум гопников.
Ошибки допускают все. Не ошибаются те, кто ничего не делают.

Кстати,будет Вам полезна информация по поводу влияния административного вмешательства на результат и самое интересное, когда не нужно лезть делать из коллектива снежинки www.slideshare.net/...nd-snowflakemen

«5 лет бедный пейсал многопоточность в поте лица, а протекдет не пригодился, хотел бы я на такой проект посмореть, чес. слово.»
А должен был пригодится потому что ...(продолжите предложение)

" А как на счет lock-free и wait-free алгоритмов и структур? По-моему скромному отсуствие ответов на эти вопросы (даже на часть) это уже большая натяжка на сеньйорность."
Я ж и не против, только за. От только как оно связанно с протектедом и дженериками?

«Есть далеко неновый но хороший документ»
Так уж и документ? :) И где в этом документе написано что надо помнить все ключевые слова языка и его особенности?

хороший документ www.indiangeek.net/...ency matrix.htm, который неплохо показывает что надо знать что бы примерять погоны, но на нашем рынке IT труда конечно клали на него изо всех сил.

Неправда ваша, есть те, которые и не клали ;)

Азы это азы.
Вы о пунктуации?

Я вот это видел не ввиде костыля.

Я вот это видел не ввиде костыля.
Озвучьте задачу?

Например кэширование чего либо в оперативке.
При помощи викреференс хорошо решается.

Например кэширование чего либо в оперативке.
При помощи викреференс хорошо решается.
Ой-йой (рукалицо)
Прочитайте про это самое кеширование. Викреференсы — породят вам 100500 проблем, про это так же написано очень много.

да как родятся так и решатся

да как родятся так и решатся
Угу стопзеворлдом на несколько секунд? И уменьшением процента попаданий до 0?

вы имеете ввиду то что данные на долго не задержатся в памяти?

вы имеете ввиду то что данные на долго не задержатся в памяти?
Нет. Я говорю что вы не контролируете процесс. Данные могут зависнуть дольше чем надо (и привет ГЦ). Данные которые вам нужны могут быть уже вытесненными из кеша, случайным образом. Вашему приложению может не хватит памяти, которая забита кешом (откуда получаем предидущие пункты).
Посему ваш пример — это костыль, при том классический костыль (и вы бы знали это прочитай что-то кроме «Шилдта»)

Да почему же вполне можно контролировать.
Например комбинируя со стронг референс. Так же можно контролировать вытеснение данных из кэша.
Викрэференс вычищается когда сборщик мусора запускается. В чем проблема то? Я с этим экспериментировал)))

Я с этим экспериментировал)))
Сколько у вас собиралось 16Гб викреференсов и на какие объекты (какое количество)
Например комбинируя со стронг референс.
Задача: у меня есть 1 ссылка которую я дергаю постоянно, и 100500 которые довольно редко. Как на викреференсах построить эффективный эвикшн?

На андроиде в основном память в сотнях мегабайт исчисляется)))

Че построить?

На андроиде в основном память в сотнях мегабайт исчисляется)))
А потом пользователи андроида жалуются что у них батарейка сдыхает, что память программы долго запускаются (ибо кто-то выжрал память надо выгружать другие прогаммы)
Че построить?
Перефразирую:
Задача: у меня есть 1 ссылка которую я дергаю постоянно, и 100500 которые довольно редко. Как используя викреференс добиться чтобы тот который постоянно используется остался в кеше, а ненужные удалились?

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

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

можно использовать например кольцевой буфер,
который будет сортироваться по количеству запросов к ячейке, каждая ячейка это стронг референс, получить данные из буфера мы может только при помощи викреференс, как то так
А как данные будут удалятся из «кольцевого буфера»? И зачем именно кольцевой буфер?
UPD.
И при чем тут викреференс? Какую задачу он решает?

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

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

ну может кольцевой и ни к чему, это с другой задачи перекочевало

да я ж вам сказал как чистится

именно с викреференсами

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

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

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

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

если будет стронгреференс еще где то кроме буфера то данные не удалятся, а если удалить ссылку в буфере то останится только викреференс и данные сборщик удалит
Без викреференсов:
1) Данные не нужны и удалены из буфера. Сборщик их собрал.
2) Данные удалены из буфера, но мой код их использует. Дожидаемся пока мой код закончил с ними работу и получаем случай 1.
-------
С викреференсами:
1) Аналогично.
2) Данные удалены из буфера, но мой код имеет ссылку на викреференс (и должен использовать данные по этой ссылке). Что происходит тогда?
-------
Что будете делать с:
Помимо того ваш кеш вырастет до максимума и даже при нехватке памяти не уменьшится.
?

2)удаленны не данные с буфера а ссылка на них.
тогда просто данные удалятся тк есть только викреференс.

тогда просто данные удалятся тк есть только викреференс.
Но ведь вашему коду нужны эти данные, поскольку он держит на них ссылку.
Результат прост: у вас утечка памяти (по логике программы), но она замаскирована викреференсом. И это все не имеет отношения к кешу.
Повторяю вопрос:
Что будете делать с:
Помимо того ваш кеш вырастет до максимума и даже при нехватке памяти не уменьшится.
?

Сообщайте соискателю с улици ссылку на ваш список вопросов и тогда к вам не будут идти без подготовки, но боюсь что в таком случае только студенты будут идти к вам на инквизицию у которых все это свежо в памяти, а опытных старичков будете брать по знакомству без собеседования.
P.S. Только ответ на пункт 4) меня удивил, а так обычные джуно вопросы на которые четкое знание ответов еще ничего не гарантирует.

а опытных старичков будете брать по знакомству без собеседования.
Это я оставлю таким, как Вы, а я предпосчитаю брать людей способных подтвердить наличие профессиональных знаний, а не по блату и знакомству...))
P.S. Только ответ на пункт 4) меня удивил, а так обычные джуно вопросы на которые четкое знание ответов еще ничего не гарантирует.
Четкое знание — не гарантирует, но вот полное незнание ни единого ответа на подобные «джуно вопросы» вызывает сомнения в способности что либо делать вообще.

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

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

Вы действительно верите, что человек который не в состоянии объявить List<myclass> способен писать хоть какой-то код?
И я не понимаю, ваш синьор будет работать находителем проблем в архитектуре? Он что не будет писать код вообще?

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

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

Я не верю, что человек знающий отличие между связными списками и массивами не знал бы их реализации в своем языке программирования.
А зачем? Главное знать «здесь мне нужен массив», а куда чего вписывать — можно погуглить в конце-концов :)

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

Вопрос целей, ну и соответственно того что по-вашему является основной целью программиста. Если написание некоторого когда в вакууме as is — тогда да, без держания в памяти кучи language-related штук — никуда. Если цель решить проблему — то важнее помнить скорее что можно сделать, а не как, хотя «как» — несколько ускоряет процесс.

Речь не идет о куче. Речь идет о базовых вещах, очень базовых. Вот вы бы стали считать кого-то программистом если он не знает как написать if/else и скажет не помню, нужно посмотреть MSDN?

Кроме if/else нужны еще циклы :) Вообще вот вы говорите «массивы и связанные списки» — меня бы устроило если бы человек смог объяснить решение проблемы с помощью этих структур данных, что бы я понял о чем он, а вот смог бы он это написать или нет — дело десятое, за этим можно и в MSDN, ради бога.

Вот Вы тут про дотнет: структуры данных, женерики, стэки, габадж коллектор итп. Было такое время, когда мне пришлось работать с миграцией кучи дотнет сайтов, разной степени поганости. С некоторыми сайтами были проблемы: кастомеры бежали к своим разработчикам и к нам. Из общения сложилось, в некоторых случаях подтвержденное, ощущение что эти разработчики никогда не видели своих творений за пределами VS, и для них огромный сюрприз наличие в этих творениях файлов, файлов с настройками типа web.config(или как там его), того что эти настройки значат, и так далее. Может для этого у дотнетовцев есть специальные люди — не знаю. Но это как-то более настораживает, чем незнание каких-то вещей, которые кто-то другой думает что знать обязательно — все-равно 90% кода пишется тупо в доску, иначе потенциальный читатель не поймет

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

А расскажи какой задачи? А мы посмотрим зря вводит, или нет?

А ты приходи на собеседование.

Вопрос типа: какую бы вы выбрали структуру данных для решения такой-то практической задачи, вообще вводит в ступор 95% соискателей.

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

К примеру задача. В какой структуре вы будет хранить данные для нечеткого поиска слов. Для того чтобы уметь посчитать расстояние Левенштейна по дереву со сложностью log(n)*E, где E-количесво разрешенных ошибок, нужно быть сеньором не только в C#/Java но и в математике.

Так что большинство выберет список List<string> и классический алгоритм.

Вопрос типа: какую бы вы выбрали структуру данных для решения такой-то практической задачи, вообще вводит в ступор 95% соискателей.
Вектор или матрицу — универсальное решение. Заменил бы структуру, когда бы полностью разобрался с задачей или при оптимизации.
Бип!! Не правильный ответ, вы дали ответ не узнав задачу :)

В It мы опрерируем сущностями в n-мерном прострарстве данных, которе прдставляется матрицами или вырожденными матрицами. А любое n-мерное простратсво можно представить 1-мерным Гилбертовым простратством, что и есть List. Поэтому, когда не знаешь какую взять структуру — бери List. Потом по ходу разберешся.

В It мы опрерируем сущностями
когда не знаешь какую взять структуру — бери List. Потом по ходу разберешся.
Вы в ИТ может и только оперируете, а мы еще и думаем. :)

Ну хотя бы так. Здесь уже можно начинать разговор. Большинство входит в ступор от самого понятия «структура данных».

Модификатор protected ограничивает область видимости namespace’ом
сам недавно затупил( перепутал с internal. всего пол года кодинга на vb и в c# чувствую себя неуверенно...

ну так вы же пока еще и не серьйор :)

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

> ну так вы же пока еще и не серьйор :)
От это как раз не оправдание, ибо с развитием для спеца более важны архитектурные и/или бизнес вещи, а не помнить какой модификатор что делает. Сугубо, ИМХО, все кроме паблика — это зло в 90% случаев, а в оставшихся 10% хватает прайват.

все кроме паблика — это зло в 90% случаев
Или паранойя.
Или паранойя.
Ага а потом еще final (sealed) классы/методы сделает. От как раз такая паранойя характерна или джунам, или люям которые оторваны от коммерческой разработки (помешанным на архитектуре, забывая о том что этим будут пользоваться)

бизнес вещи меняются от проекта к проекту, что синьйора в джуниоры каждый раз разждаловать?
О это громкое слово «архитектура»! Паттерны знать должен и джуниор, а архитектурные решение принятые в одном проекте могут не повстречатся синьйору в следующем, что, опять срывать погон пока не вникнет?

Можете занести меня в ваш великий доу-цитатник но если синьйор

не помнить какой модификатор что делает
то это настощий качественный 23-летний синьйор со всеми вытекающими #нувыпонели...

Имхо, как раз на прочном знании фундаментальных основ языка, его темных мест, платформы, основных фреймворков (ну и конечно их качеств и количеств) и строится тот самый ранг синьйора

А бизнес (domain-knowledge) вещь сильно переходящяя, вчера я 3 года продавал бонды и фьючерсы, а теперь я занимаюсь видео, и никто всех лычек не снял, только часть и то из-за инфляции рангов у нас :)

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

бизнес вещи меняются от проекта к проекту, что синьйора в джуниоры каждый раз разждаловать?
Не в джуниоры, возможно в мидлы, если человек вообще не в курсе про домен.
Паттерны знать должен и джуниор,
Что значит занть? Зазубрить картинки и текст из ГоФ? Тада да, а вот применять не думая как оно называется и какой лучше использовать — это уже другое.
а архитектурные решение принятые в одном проекте могут не повстречатся синьйору в следующем
Я не про решения, а про подходы, и даже если человек с ними не работал, то синьор будет знать хотя бы куда смотреть.
Архитектурные вещи это опыт, опыт и опыт, чем больше человек видел работающих ( а еще лучше НЕработающих) архитектур, тем его знания старше и ценнее
Согласен. От только к чему вы это сказали? Как это связанно с:
сам недавно затупил( перепутал с internal.
ну так вы же пока еще и не серьйор :)
?
Если человеку даже лень освежить память, погуглить классические вопросы и типа, «Чем ValueType отличаются от ReferenceType?», значит ему по сути новая работа не нужна совершенно и он лишь сознательно впустую тратит свое и мое время....
Вот тут есть одна ловушка. Есть люди которые специализируются на прохождении собеседований и их вы такими вопросами не отсеете, а только наоборот рискуете тем что у вас создастся впечатление что он таки умный.
Второй момент. Отбросим теорию и посмотрим на наш рынок. Разработчики (хорошие) работу ищут очень редко, куда вероятнее что ваша ХР его «заманила» на собеседование и он пришел просто посмотреть (авось таки работа его мечты). Или я ошибаюсь во втором пункте, и ситуация на рынке сильно в сторону работодателя?

P.S. Я никоим образом не пытаюсь навесить на вас звание «мудака года».

Вот тут есть одна ловушка. Есть люди которые специализируются на прохождении собеседований и их вы такими вопросами не отсеете, а только наоборот рискуете тем что у вас создастся впечатление что он таки умный.
Я разве где-то говорил, что такие вопросы — это единственный или достаточный способ оценки?)) Я приводил пример из личной практики, что 10 лет опыта в резюме еще не гарантирует наличия знаний и умения писать качественный код.
Да и моя задача не состоит в отсеивании, а в проверке наличия знаний по разным направлениям, просто .Net Framework basics — одно из них.
Второй момент. Отбросим теорию и посмотрим на наш рынок. Разработчики (хорошие) работу ищут очень редко, куда вероятнее что ваша ХР его «заманила» на собеседование и он пришел просто посмотреть (авось таки работа его мечты). Или я ошибаюсь во втором пункте, и ситуация на рынке сильно в сторону работодателя?
Прошу прощения, не понял Ваш вопрос. Если кандидат не может показать вообще никаких знаний и наличие опыта, то какая разница, какая ситуация на рынке?
Я разве где-то говорил, что такие вопросы — это единственный или достаточный способ оценки?))
Просто вопросы из серии «дайте определение» очень легко зазубриваются. Мне кажется сомнительной их эффективность. Если человек может внятно отвечать на вопросы что вы использовали или использовали бы в такой-то ситуации и почему, то даже незнание дотНет бейсикс — это не проблема (ну написал он паблик метод вместо протектеда).
Кстати, вопрос:
2) В .Net возможно множественное наследование классов
А из менаджит ЦПП его так же убрали? В ЦПП же нет интерфейсов, как там решают эту проблему?
Прошу прощения, не понял Ваш вопрос.
Вопрос относился к этому пункту:
Если человеку даже лень освежить память,
Просто вопросы из серии «дайте определение» очень легко зазубриваются.
Вы путаете собеседование с тестированием. Мне достаточно, если кандидат может своими словами на пальцах ли примерах из опыта описать свое понимание вопроса. Если забыл/перепутал/сталкивался поверхностно — это можно понять в процессе беседы.
Если зазубрил/помнит/часто сталкивается/готовился, то нет смысла тратить время и после пары базовых вопросов можно переходить дальше.
А из менаджит ЦПП его так же убрали?
Его там никогда и не было, т.к. множественное наследование не поддерживается самой CLR, соответственно и в MC++ ему не от куда взяться.
В ЦПП же нет интерфейсов, как там решают эту проблему?
В С++ есть множественное наследование классов, в МС++ есть множественное наследование интерфейсов. Для обеспечения взаимодействия этого достаточно. В чем проблема?

PS: Иммитировать множественное наследование можно и на C# с помощью интерфейсов и паттерна Декоратор.

В чем проблема?
Я то думал что там честный ЦПП (только с управляемой памятью), а как оказалось оно и не ЦПП :)
А из менаджит ЦПП его так же убрали? В ЦПП же нет интерфейсов, как там решают эту проблему?

C++/CLI:
public interface class ISomeInterface
habrahabr.ru/post/111071

C++/CLI — это жуткоуёбищный гибрид C++ и C#, поэтому даже C++ с 10+годами опыта пишут сразу на C#, если приходится.

Это же классика: «большая честь работать в нашем банке» ;-)

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

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

А тому кто собеседовал случайно не 23 года было?

Просто с люксофтом разная система оценивания похоже. У нас джуниоры отлично работает в проекте почти самостоятельно. Миддлы еще имею техническую экспертизу более широкую. Сениоры запросто общаюстя с бизнесом напрямую (не с БА)

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

А если после работы проводит время с семьей, а не за компом? :)

Можно совмещать. А не развиваться совсем удел преподавателей сопромата

У вас получается? Если да, то подскажите как, ибо у меня пока не особо.

Вкалывать, что тут сложного

Алсо, расскажи как ты разбираешься в огромном опенсорсном проекте, например в спринге?

В его устройстве или как пользоваться? Ну тут спринг неверное не удачный пример... Как пользоваться — вообщем книжку прочитать, а потом пользоваться, пользоваться и пользоваться. А вот в устройстве я не разбирался, так как мне полностью очевидно как он написан, кроме возможно каких-то мелочей, потому спринг — плохой пример. Вот например какие-то базы данных, middleware, ядро сервера бывают очень сложными,

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

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

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

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

Гнаться за этим не надо. Можно и свои маленькие проекты делать, или нужные или никому не нужные, главное развивающие

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

А это не ты случаем автора собеседовал? Тон такой строгий, важный.

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

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

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

Моя вот “Століття Якова” Владимира Лиса, и чё? :-)

Пардон, я не уловил перехода к возможности чтения отвлечённой литературы. Не сочтите за желание похвастать, просто хотел пошутить над технократом ;-)

А тим-лиды ракеты в космос запускают.

Тим-лид — менеджерская должность.

Тим-лид — менеджерская должность.
Угу. То есть ракеты запускают ПМы? :)
Какие ПМы? )
Те которые менеджеры проекта.

не запускають, а деліверять!

не запускають, а деліверять!
Не деливерят, а доставляют и это уж совсем особые люди (элита так сказать).

Очень спорное утверждение. Я бы даже сказа, — неверное.

Между Епамом и Люксом заключен пакт о не нападении о не переманивании сотрудников (Но это не мешает особо интересных перетягивать)
Пакт, если не ошибаюсь, касается только отдельных аккаунтов, а не всех сотрудников в целом.
Что сказать- гожусь на джуна, но так уж и быть они сжалятся и возьмут к себе мидлом.
Попытка сбить цену?
Странно, а сумма компенсации заранее не оговаривалась? Если сумма оговорена и не меняется, то пусть хоть интерном называют))
Думаю, ок что то я закостянел- открыл Рихтера- и начал смотреть- в чем же я оказался не прав... оказалось во всем прав, но инсайдер с Епама мне сообщил- что я стреском провалил собеседование
Без конкретных примеров сложно о чем-то судить... Здесь Ваша(анонима) оценка против оценки неизвестного собеседующего.
Я одно не могу понять- что это было?
Возможно, в данном случае Вас собеседовали на конкретный проект, а не в компанию в целом. Причин может быть масса, смотря какие задачи стояли перед собеседующими и какие критерии использовались. Собеседование — это все таки не экзамен с проходным балом.
сумма компенсации заранее не оговаривалась? Если сумма оговорена и не меняется, то пусть хоть интерном называют))
100% :)
Пакт, если не ошибаюсь, касается только отдельных аккаунтов, а не всех сотрудников в целом.
Какими, если не секрет?

Собственно пакт вытекает следствием из стандартного Non-Compete Clause (NCC, обычно идет как часть NDA) с сотрудниками, по которому сотрудник в течении N лет после увольнения не имеет права работать напрямую или через 3х лиц с тем же заказчиком, с которым он работал внутри компании.
А у этих двух компаний есть как минимум 1 общий клиент....

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

епам берут не под проект, а в саму организацию
Really? oO

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

А если проект закроется, а новый найти не смогут, то человека уволят из компании?

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

Стандартная схема, в принципе.

Ну наверное, я просто не знаю, как в других местах :-)

Такая схема почти везде. Исключений не много, кстати, наш project office, — одно из них. У нас человек берется не под конкретный проект.

ЗЫ:
Ничего плохого в этой схеме нет.

Насколько я знаю, в данный момент нет каких-то официальных ограничений по времени, сколько человек может находиться на бенче.
месяц — два, имхо. но всегда есть баркап куда требуются люди (: ходили слухи, один чувак просидел на бенче пол года появляясь в офисе пару раз в месяц =)

Но всё равно на открытую вакансию в этом или другом проекте. По этому, как ни крути, — «под проект(ы)», а не «в саму организацию».

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

Не буду категорично опровергать, но насколько я знаю Епам берет под проект. Некоторые проекты совсем короткие- 3-6 месяцев. После этого выставляют на ротацию. Ротация почти ничем не отличается от обычного собеседования в компанию

а откуда у вас такие сведения и на какой именно проект вас собеседовали?

у меня есть знакомые работающие в Епаме.
Меня собеседовали сразу на несколько проектов.

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

Единственная причина, по которой я (почти двухметровый лоб) Dwarf по нику — 4.5 года назад, когда я только выбирался из кустарщины в индустрию, меня сурово обломал местный EPAM и я, регясь тут, не исключал, что чего-то им в итоге выскажу. Не высказал и доволен, более того — сколько слышу, на Епаме закономерно на собеседовании грузят по делу. Лично для меня тот завал был гиперполезен — мало того, что я узнал свои пробелы в новом ещё тогда для меня C#, так ещё и именно там меня подстегнули подтянуть английский и это, если честно, открыло по большому счёту больше дверей, чем какая-то конкретная технология...
Так что за одного битого двух небитых дают ;-)

Парелельно со мной в Епам на собеседовани ходили мои друзья (толковые ребята)- результат тот же..... джуны... погранично в трейни- на большее не годятся. Для примера- ребята отлично знают свое дело, хороший английский, есть референсы с прошлых и текущих мест работы.
Попытка сбить цену?
Тикотак! Ведь не может такого быть чтобы вдруг оказалось что они таки джуны (по факту), ведь мы все рождаемсо синьорами :)
Вариант который менее ранит ваше самолюбие: -экзаменатор злобный- попали не на того человека (если сильно не повезло, то их там несколько), типа очень матерый и думает что все такие.
скоро упадет до уровня Арт-мастер или Daxx.
А че там с Арт-мастером и Даксом?

Я отлично осознаю — что для того чтобы получить опыт- нужно работать/учиться/"набивать себе шишки" и тд. Когда то я тоже был молод и зелен в программировании и .Нете также. Но сейчас это немного изменилось.

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

Это, кстати, милая отговорка — английский. Мне тогда «диагностировали» Pre-Intermediate и развели руками с такой же формулировкой (и уже много позже я узнал, что если это не аут-стаффинг, то заказчика можно не видеть и не слышать). Всё бы ничего, да параллельно взяли коллегу, который тут же начал посещать курсы уровня Elementary. Но я не жалуюсь, ведь после этого пинка я за месяц прокачался до Intermediate без посторонней помощи.

Pre-Intermediate or Elementary какая разница? Все равно этот человек заказчика не поймет.

A на счет вежливых отказов, то у меня другая история была. Собеседовался в Лондон, прошел все интервью, жду результата. Мне сказали так, по техническому интервью у вас все отлично и у нас никаких претензий нет, а вот аджайл у вас слабый и нам это критично. ;) Правда позднее намекнули, попросил бы на 10 000 меньше — взяли бы.

Pre-Intermediate or Elementary какая разница?
Разница существенная. С Pre-Intermediate заказчика человек должен понимать вполне нормально.

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

Только в письменном виде. Если голосом то могут быть проблемы.

Афтар вы написали глупость, еще в заголовке. С чего бы ЕПАМ воевать c .Нет?
На счет вашей оценки вашего же интервью, думаю будь сейчас запись его доступной всем было вы с интересом узнали много нового о .Нет и о себе лично ;).

Согласен. со стенограммой собеседования- было бы интересно.
З.Ы. сменил название топика.

Попытка сбить цену?
Ну да, вроде как стандартная практика.

Вывод странный. Что плохого, в том, что у компании высокие требования к кандидатам?

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

Тогда надо по другому ставить вопрос — «почему меня собеседовали, как джуна (и взяли)?». Возможно, было недопонимание с HR.

Я конечно имею заниженную самооценку.. но не настолько. :) Раз в пол года/год хожу по собеседованиям- и знаю ~ свой уровень, и только с Епаме мне мои ответы засчитали почти все — неверными.

Может вы не с техническими людьми общались? А то что у них записано как правильные ответы не совпадало с тем что вы им говорили :)

Трафарет с ответами вверх ногами держали?

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

ну ты как раз был где-то современником этой истории +/- :-) сейчас все как у всех с собеседованиями

Да, мы часто людей из столовой зовем собеседовать

лучше наоборот: человека в столовую, и со всех присутствующих/входящих по вопросу :-)

А можете конкретные вопросы привести — что спросили, и что вы ответили? Я не знаток дотнета, но хочу понять, как можно двояко трактовать основы языка.

Я же говорил выше- спрашивали по основам..
Вот пример с того что помню
С- собесудующий
Я-я :)
С- где хранятся value type?
Я- в зависимости от контекста.....дальше расказываю когда хранится в стеке, когда в куче. перед этим читал blogs.msdn.com/...alue-types.aspx поэтому был уверен что говорю правильно.

С- Как у структуры создать явный конструктор без параметров?
Я- Средствами языка шарп — низзя. Можно только на MSIL.

С-Как работает GC
Я- рассказываю про активные ссылки на объект, финалайз и тд.

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

Но важно не это, важно что мне не возражали и не поправляли-

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

А разве Вы не можете переопределить конструктор по умолчанию? Отбой, нашел подвох — msdn.microsoft.com/...y/ms173115.aspx

может про GC ожидали не финалайз, а просто принцип дележки LOH, SOH, три поколения, фоновая сборка и прочее? Типа общей теории.

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

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

Что Вы, я уже отписал- что епам мне нравится как компания.. вот только личности некоторые- жуть просто.
Я конечно понимаю есть понятие стресс интервью. но когда 2 из 5 собеседующих сидят закинув руки заголову- качаются на стульях закинув ногу на ногу, переглядываются и смеются- это эпично:)

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

Другое дело что например в Java собеседованиях есть люди с 10+ опытом, которые работали на однообразных и неправильно написаных проектах разгребая костыли. Тогда одновременно они и ничего не знают и 10+. Если у вас не так, а .NET проекты обычно моложе, то думаю вам все же не повезло

Требования не высокие, не спрашивали ни алгоритмов ни структур данных — гоняли по основам
а почему вы считаете что алго и структуры данных это высокое требование?

Я не считаю

то алго и структуры данных это высокое требование?
Но считаю, что знание/понимание computer science очень помогает в обыденной работе. Знание алгоритмов и структур данных, умение применять в нужный момент- это, по моему скромному мнению- говорит о довольно высокой экспертизе индивидуума.
Просто с таким подходом имидж Епама (если он важен для компании) скоро упадет до уровня Арт-мастер или Daxx.

Странно, в этих компаниях оценки довольно приличные:
jobs.dou.ua/...rt-master/poll
jobs.dou.ua/...axx-group/poll

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

Подписаться на комментарии