Re[2]: JetBrains
От: elmal  
Дата: 16.04.16 08:57
Оценка: 11 (3) +1
Здравствуйте, qxWork, Вы писали:

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

Чет у меня сомнения. Ибо у меня представления о базовых алгоритмах и структурах данных по крайней мере по остаточным знаниям достаточно неплохие и судя по всему сильно лучше, чем на рынке. Ибо, например, найти человека, который про радикс сорт что то слышал 1 человек из 50. В том числе и те, кто собеседуют, обычно про радикс сорт не слышали. А если еще попробовать поговорить про параллельный радикс сорт и вообще про параллельное программирование, будет совсем печально . Алгоритм дейскстры хотя бы назвать может один из 20 (это обычно увлекающиеся олимпиадным программированием), про беллмана форда вообще ни одного кандидата не встречал чтоб упомянул когда либо. Про третий мне когда то известный по поиску кратчайших путей я сам забыл как называется, но он параллелится. Вроде бы основы это все, но хотя бы про это слышали только те, у кого в резюме написано про олимпиадное программирование. У типичного кандидата с алгоритмами максимум ассоциируется бинарный поиск, уже обход дерева в ширину будет что то нереальное. Про структуры данных тоже несколько лет мог много чего экзотического рассказать, например про trie и тому подобное, еще не все забыл, но если нужно могу повторить. На практике мне 2 раза топологическую сортировку доводилось реализовывать в разных местах, хоть и не оптимально и это я писал на 5 минут. Так что в теории вроде ну явно имею представление об алгоритмах и структурах данных, хоть это и остаточные знания.

Про многопоточность я конечно скажу не то, что вы ожидаете. Ибо я скажу что многопоточный код надо писать так, чтоб о потоках не думать . Никаких локов в основном коде быть не должно, и вообще всю многопоточность желательно организовывать по аналогии эрланговской актор модели, и сейчас я бы выбрал для этого такие фреймворки как Akka или vert.x (если говорить про корпоративные системы, для IDE естественно это черти какой оверхед будет). А так, лет 5 назад Java Concurrency In Practice я прочитал, но так как не использовал знания (вернее использовал, лет 6 назад, в библиотеках, которые помогали не заботиться в основном коде ни о какой многопоточности и синхронизациях по крайней мере явно), сейчас уже весьма мало помню.

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

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

Так вот, я 5 раз отправлял резюме в JetBrains и все 5 раз мне ответили что мы внимательно ознакомились и если потребуюсь, то со мной свяжутся. Причем когда я отправлял, я как раз был в неплохой форме для бесед про алгоритмы и структуры данных, мог бы и про лексеры поговорить, и про парсеры, и как это делать в лоб, и как можно применять языки типа Prolog и т.д. Самый большой прикол был где то полтора года назад. Когда со мной HR действительно связались. Я сказал да, я хочу пособеседоваться и очень сильно рассматриваю вакансию. Сказал что готов сделать тестовое задание, готов собеседоваться на остаточных знаниях при условии нормального фидбека что мне следует подтянуть и тому подобное. После чего мне приходит ответ, что мы не готовы пригласить вас на собеседование, так как у меня не релевантный опыт, а у них есть кандидат на финальной стадии.

На остаточных знаниях я да, не пройду 100 процентов. Ибо работаю сейчас с одним, которого зарезали на финальной стадии — он там внутренности JVM очень хорошо знает и на прохождение интервью заточен идеально, хоть и акцентирован исключительно на Java и с кругозором не сильно хорошо. Но кругозор на интервью интересует наверно только меня, 90 процентов интересует знания типовых вещей вроде какие оптимизации применяются внутри JVM, бага по поводу substring в Java < 1.7 и тому подобное . Соответственно для более менее приличного результата мне нужно во первых освежать знания, во вторых потренироваться предварительно на кошках, и где то после пятого собеседования я выйду на приличный уровень, который продержится месяца 3 до забывания.

Но факт в том, что я не представляю, кем нужно быть, чтоб с улицы без знакомств как то проскочить в JetBrains. Только если по распределению из ВУЗа специального, начиная с юниорской стадии.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.