Подготовка к H1B Java-программисту

Прошу, прежде всего, советов тех, кто успешно прошёл интервью с работодателями, готовыми оформлять H1B. Желательно опыт джавистов из энтерпрайз. Как вы готовились к собеседованиям?

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

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

Мой бэкграунд таков:

[ul]
[li]1,5 года разработки на java со всеми сопутствующими в энтерпрайз технологиями, немного разработки на js + jquery[/li][/ul]

[ul]
[li]на английском без словаря читаю тексты для среднего уровня, понимаю простые диалоги при просмотре видео или прослушивании подкастов, сам оптимистично оцениваю свой уровень как intermediate[/li][/ul]

Судя по тем советам, что я накопал, надо быть готовым к следующему:

[ul]
[li]очень хорошее знание теории по технологиям, указанным в резюме[/li][/ul]

[ul]
[li]быть готовым решать небольшие задачки онлайн[/li][/ul]

[ul]
[li]честно отвечать на все вопросы не из профессиональной сферы, ничего не придумывать, не стараться подстроиться[/li][/ul]

До октября осталось очень мало времени. Поэтому хотелось бы понять на что лучше сделать основной упор в этот короткий срок: английский или проф. скилз? Если не сложно, то напишите подробности.
Какие книги читали и какие пригодились больше всего?
Для решения небольших логических задач в нескольких источниках посоветовали прочитать книги “Cracking the Coding Interview” и “Programming Interviews Exposed”. Уже скачал и начал читать. Стоит ли?
Как прокачивали инглиш? Занимались ли с преподавателем по скайпу предварительно для прокачки спикинг?
Что больше всего любят спрашивать на интервью в бодишопы?
Какое поведение на интервью посоветуете? Скромничать или лучше стараться показать себя парнем, который справится с любой задачей?

1 лайк

При чем тут Октябрь?

Въехать сразу хочет. :slight_smile:

Ага, по туристической и переоформлять на рабочую…

Прокачивай английский ибо любой (читай ничего-не-знающий) индус заткнет вас за пояс. Более того на интервью нужно больше разг7оворный скилл чем пониманиеб поскольку Вас должны понять кто вы есть.

  1. Резюме
  2. Пройти Поведенческое интервью с HR (на этой стадии может быть 1-2 интервью почти похожих)
  3. Техническое интервью (их может быть много в одной компании особенно если будешь подаваться в Google, Amazon в не больших компаниях обычно 1 интервью или если не успели задание на кодирование 2ое)
  4. Предложение (это может быть оформлено в рассказ о компании + окончательное интервью или просто предложение на email)

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

Должно быть несколько написанных резюме: Backend Engineer, Full-stack, Java Developer, Senior Engineer, если есть опыт и технологии.

Важно его написать, затем как бы пересказать его на английском (далее везде подразумевается английский), это уже ответ на вопрос Tell me about yourself, HR на поведенческом интервью.
Как бы твоя история.

Без хорошего резюме, просто не будет остальных шагов!

Есть много вопросов которые спрашивают на HR интервью:

  1. Это общая твоя история (минут 5-7), по твоему резюме: разработал, использовал, применил контейнеры и т.п.
  2. Почему США, не Европа, МСК, СПБ
  3. Как ты достигаешь успеха в делах на работе
  4. Какие твои сильные-слабые стороны
  5. Как ты решал сложную проблему на работе
  6. Как ты себя видишь через 3, 5 лет
  7. Твой план на пол года (это от меня)
    и т.п. у тебя должны быть написаны и отрепетированы такие истории. (это не полный список)

Мне очень помогло отвечать на них в машине самому себе (сможешь привыкнуть к своему голосу на английском :slight_smile: ), т.о. у тебя будут базовые кусочки и ты в принципе сможешь скомпоновать ответ на любой вопрос, а в каком ключе отвечать помогут видео Дяди Миши и у него было видео с красивой блондинкой из HR, оно очень полезно! И ты попрактикуешься в английском, привыкнешь отвечать т.к. проблема в том, что мы не разговариваем много на английском.
Попроси друга позадавать тебе вопросы на английском и ты будешь отвечать.

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

И вот ты подошел к техническому интервью:

  1. Базовые вещи про Java (возможно вопросы из сертификации по Java)
    Коллекции их интерфейсы, биг О различных реализаций, какой класс выбрать для определенной задачи
    Как запустить поток, методы ExcecutorService, синхронизированные коллекции
  2. Вопросы по твоему резюме
    Типы бинов в Спринг (Это будет 100%, у меня была интересная история с тестированием и этими типами и всем вообще понравилась и как в JEE) , как применял. Вот тут ты можешь (должен) Блеснуть и вставить что встретил проблему с технологией, решил таким образом. Нравится потому-что…
  3. Вопросы по ООП и разработку:
    SOLID (SOLID Programming Principles - Spring Framework Guru) ну это идеальное описание на мой взгляд, но интервьюеры бывает спрашиваю о странном применении и главно не теряться и аргументированно высказать свое мнение (не спорить), базовые паттерны (Фабрика, Абстрактная Фабрика, Билдер), какую методологию использовали в работе?
    Дизайн системы: как бы ты спроектировал URL Shortener и т.п.
  4. Решение задач по программированию
    Книга Cracking the Coding Interview поможет очень сильно! (вторая книга по желанию или если ты в Google) Нужно просто нарешать кучу подобных задач (ну ладно не кучу, но иметь представление как решать) к сожалению таковы правила игры. (leetcode.com)
    Вопросы про алгоритмы: поиска, сортировки, деревья, графы мне вообще не попадались (но был готов)

Подводя итог: важно коллекции, биг О с коллекциями, вопросы по технологиям из твоего резюме.
Их легко нагуглить методом: 100 вопрос про Spring

  1. Очень хорошее знание теорий по технологиям в резюме, как это проверить? Вот у тебя и будут спрашивать 100 вопросов про Spring, Spring boot. Ты проявишь свои знания именно вот этими достиг, решил, встретил интервьюверы прям и ждут когда ты это скажешь !
    И если были шероховатости по базовым Java вопросам, то тут ты обязан добрать балы! Например я растерялся и вылетело сколько байт в инт (пришлось вспоминать, говорит байт 1б, шорт 2б, инт 4б) не впадай во “всё пропало” :slight_smile: про переполнения зашел разговор.
    (Конечно это не должно быть на 10 минут, сжато (тренируйся рассказывая сам себе пока не поверишь :slight_smile: ))
  2. Coding assignment это важная часть и конечно нужно ее подтягивать.
  3. честно отвечать на все вопросы не из профессиональной сферы, ничего не придумывать, не стараться подстроиться. Нууу, нужно отвечать в том ключе чтобы выделить себя в правильном свете, подчеркнуть свою командную работу, что ты желаешь работать проактивность.

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

Резюме очень важно. В прошлом году у меня сотрудник уехал в Питер, сперва сам написал и опубликовал на hh резюме, затем я переписал по Дяди Мишиным рекомендациям и его прям разрывали. Важно написать резюме, затем через некоторое время вернуться к нему и еще раз переписать. Важно посмотреть примеры на indeed.com и не писать резюме на 4 страницы (у меня на 1 уместилось) опыт старше 10 лет у меня 1-5 строк. (есть версия и на 2х :))
Как говорит Дядя Миша “Надергать булитов”, но не брать такие: Involved in log4j configuration.
К сожалению уже года 2 у Дяди Миши нет семинаров где он правит в прямом эфире резюме во время сезона :slight_smile:

В резюме рекомендую добавить Angular (освоить)

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

С такой подготовкой заткнешь любого индуса за пояс.

Поиск работы в следующем году имеет смысл начинать с 15.01.2018 и примерно до 15.03.2018; до 1 апреля у тебя уже должно быть предложение о работе и отправлены документы на рабочую визу. “ТеоретиЦки” с 01.10.2018 ты сможешь въехать в страну и начать работать (если выиграешь в лотерею по рабочей визе, пройдешь подтверждение).
Если в следующем году будет эта рабочая виза в таком виде как в этом году.
Резюме публиковать на всех сайтах. базовые inded.com, dice.com glassdoor.com и самостоятельно рассылать, откликаться на резюме в понравившиеся предложения о работе.

Очень важно для получения визы твое образование! Желательно Master’s (MS in CIS) У меня 5 летнее образование от хорошего гос. вуза. Года 3 назад я заказывал эвалюацию диплома через одно из агентств стоило 400 долларов по моему. (дают сертифицированный перевод и evaluation. (само наличие такого подтверждения диплома не влияет на поиск работы, (тебе ее сделают после предложения о работе) но если нет образования то будет сложнее и неохотнее, не возможно сделать тебе рабочую визу)

По поводу супер профессионалов, по моему мнению в этом году из России выгребали все кто знает слово Java и может связать несколько слов на английском (но расслабляться не стоит)

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

Успехов!

12 лайков

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

Ну ну. Тот же индус только без английского.
Я побывал F2F на интервью и сам немного проинтервьюировал местный контингент.

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

  1. Конторы в которых задают вопросы типа, кем ты видишь себя через пять лет - мудаки. Возможно такие там же и работают. Я бы даже связывался с такими. Как правило это индусы прокладки. Самые скупые на все.
  2. Получить оффер для технически грамотному специалисту даже с плохим уровнем - несложно, но получить хороший и оффер и быстро - сложней.
    Имея уровень Advanced я не чувствовал себя комфортно во время телефонных прескринингов, ибо на родном языке я бы выражался гораздо грамотней и уверенней
    Однако не смотря на такие казусы по моей статистике в конторе где ищут спеца (а не дыру заткнуть) вопросы задают технические и оффер дают в тот же день (или во время интервью).
  3. Резюме. ХЗ у меня никогда небыло хорошего резюме за все 15 лет карьеры. Я недавно нашел свое резюме когда подавался в 2010 году. Пол листа на все про все. Счас я читаю сочинения ака резюме таких вот кандидатов и … не буду даже продолжать.

Теперь возвращаясь к ТС с полутора годами опыта и средним (по мерка не США) уровнем языка. Шансов чуть больше нуля. Нужно больше опыта и гораздо лучший уровень английского. Если в следующем году отменят лотерею то у ТС шансов вообще попасть в выборку не будет. Ну разве что кто то даст оффер >100к деву с двумя годами за плечами.
Тем не менее я не отговариваю учавствовать в этом процессе на ранних стадиях. Оценивать себя нужно трезво.

2 лайка

Премного благодарен за такой подробный ответ. Именно такой ответ и хотелось бы услышать. Теперь Ваш пост буду использовать как инструкцию :slight_smile:

ps слова про “выгребали всех…” придала мне оптимизма, за это отдельное спасибо.

Соглашусь с этим мнением, мне кажется полтора года для Java маловато…
Я знаю одного человека, если не ошибаюсь у него было 2 года Java, имея гринкарту и будучи в сша не смог найти работу по Java. Как он сказал что все требуют больше опыта… в итоге устроился он джуниором PHP.

Тренируй английский - это самый главный навык. Остальное - второстепенно.

1 лайк

Прошу прощения за возможный оффтоп, но объясните, пожалуйста, что плохого конкретно в этом вопросе?

Потому, что люди при ответе на этот вопрос делятся на три категории:

  1. Те, которые натренированы и знают, как надо отвечать
  2. Те, которых этот вопрос ставит в ступор. Потому, что они понимают, что правду сказать не могут, а врать находу не получается
  3. Глупые, которые расскажут, как все на самом деле

В принципе я на собеседованиях (подрабатываю HR на фирме у себя) задаю этот вопрос просто чтобы отсеять категорию номер три :slight_smile:

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

уже спрашивали, есть ли у автора хотя бы bachelor in computer science?

Потому, что правда обычно горькая для работодателя. Например:

  • Я хочу организовать свой бизнес. (Я думаю посмотреть, как у вас тут все устроено, вникнуть как работает бизнес, наладить контакты с поставщиками, наработать базу клиентов, а потом организовать свой собственный бизнес и всех клиентов тупо переманить к себе - а вы останетесь с носом и будете рвать на себе волосы! )
  • Я хочу стать большим начальником (Я думаю тут наплести интриги, организовать подставы, полностью разложить моральную обстановку в коллективе, чтоб все начало загибаться, все поувольнялись, в нужный момент накляузничаю на вас боссу, он вас уволит а вскоре я займу ваше место)
  • Я вижу себя в совсем другой отрасли (Я у вас тут перекантуюсь временно, пока буду учиться на ту область. На работу мне чхать, она мне не интересна и я этим заниматься не хочу, мне нужно просто где то время протянуть до конца учебы ну и работа такая, чтоб мне не мешала учится)
  • Я об этом как то не задумывался (Я вообще ни очем не думаю, ничего не планирую, привык жить на полном расслабоне. Акуна- Матата вот мой лозунг! Главное не напрягатся и ты никогда не будешь уставшим! Потому я у вас тут буду тихо сидеть и изображать работу, а вечером в боулинг с друзьями!)

Дальше можете продолжить, думаю справитесь :slight_smile:

1 лайк

Согласен !

Добавлю.
Я считаю такие вопросы тратой времени как моего личного (я к Вам ехал/летел/плыл) так и времени интервьювера. Косвенно это признак степени бюрократии в компании.
Все эти психологические трюки для отсеивания детей.
Лично я на такой вопрос ответил единожды - когда устраивался на первую работу после ВУЗа :wink:
Счас отвечаю - “не знаю”

PS. Повторю лучший офферы/компании - это там где тебя технически эвалюируть такие же грамотные люди.
Как говориться - вам шашечки или ехать (c)

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

Извините, если повторюсь, но не вчитывался в предыдущие ответы.
Первое что могу отметить 1,5 года это очень мало к сожалению, пусть ты за это время успел поработать на 3 проектах, но поверь мне, есть куча вещей, которые зависят именно от опыта.
Это твой самый главный минус.
Английский это вторая проблема, и если тебя будет собеседовать одна из наших фирм и человек, говорящий по-русски, это еще пол беды, если с американцем, а часто при этом HR или первый собеседующий индус - то тогда писец, ты его банально можешь не понять.

По поводу технического собеседования будет не факт что одно собеседование, и каждое разделено зачастую на 2 части - теория и практика.
Теория понятно, будут спрашивать базовые или иногда каверзные вопросы исходя из того, что ты указал в резюме и согласно опыту.
Практика обычно пару или одна задача, которую ты онлайн обязан будешь написать прямо перед собеседующим, зачастую такие задачи связаны с логическим мышление и умением написать код так, чтобы он был наиболее эффективен с точки зрения performance. Особенно этим грешат компании типа Amazon.
Советую освоить книжку “Cracking the coding interview” - во-первых подтянешь объяснение многих терминов на английском, во-вторых поймешь какой тип задач и на какие вопросы отвечать для собеседования в крупную компанию.

2 лайка

Java sucks.

if (5 > 2 || 7/0 ==3) {
System.Out.Println(“This code will run even if there is devision by zero! Buggy language =))”);
}

Кто знает, тот поймет =) Сможет тут кто-нибудь объяснить это явление?