„Chillin‘“ at Amazon
621 subscribers
27 photos
1 video
7 files
370 links
Amazonian SDE is sharing, 'cause sharing is caring 👨‍💻

note: I do not represent any of my employers in this channel
Download Telegram
Не знаю как вам, а мне так нравится идея ФП. Жду когда будет возможность сравнить его с ООП
Software Engineers Tenure in San Francisco (2017?)

Source: https://hackerlife.co/blog/san-francisco-large-corporation-employee-tenure
#interview #mock
🥳🥳🥳 Еще очень крутые новости с утра!

Хотел вас поблагодарить. Получил оффер.Вы провели со мной два алго мока, и давали хороший фидбек. Очень ценная помощь.Спасибо еще раз!
#coding #algorithm #dynamic #programming #interview

Замечательное объяснение подхода решения задач через Динамическое Программирование!

Если знаете еще хорошие ресурсы (видео, статьи), то поделитесь в комментах, для меня и других

https://youtu.be/aPQY__2H3tE
#interview #behavioral #levels

Хороший текст про уровни в Google, похожее в Амазон.
Примерный маппинг уровней в Гугл с уровнями в Амазон
- L3 at Google is ~L4 at Amazon
- L4 at Google is ~L5 at Amazon
- L5 at Google is ~L6 at Amazon
- L6 at Google is ~L6 at Amazon - да, все верно, в Амазон L6 - это много.

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

I'm a staff engineer at Google. My take on it is a little different than the others here.

The normal levels are 3/4/5, with 5 being Senior Engineer. It is normal for you to progress up level 5, Senior. What that level means is this: Google has something that needs to be done, and knows that you can take care of it on your own with no problems. In other words, Google knows what the problems is, knows what the answer is, and trusts you to get it done and take care of the details.

The next level is 6, Staff Engineer. What this means is: Google knows what the problem is, but does not know what the answer is, but trusts that you will figure out how to solve the problem. Levels above 6 are more concerned with identifying problems/goals, and figuring out which ones to tackle (in addition to the things in all the other levels).

So, in my opinion, the best way to become a staff engineer is to have a track record of solving problems that other people don't immediately know the answer to. If there are issues out there, where people are scratching their heads and thinking, "I'm not really sure how we should go about that.", and you are consistently solving those problems, then that is where you want to be for getting to level 6, Staff. People will be saying, "I'm glad that person X did it, because I didn't know how to solve the problem."

Additionally, at level 6, you should have a broad view of how things work at Google and what teams are working on what projects in your department.

First you have to get to level 5, Senior. That's where people are looking at an issue and thinking, "I generally know how to tackle that, but it is complex and involves a lot of work and a lot of experience." Tackling those problems is how you get to level 5. People will be saying, "I'm glad X did it, because it looked complex, like it would take a lot of hard work."

To get to level 4, people should be thinking about you: "I'm glad X is working on this for me, because they didn't need much help or guidance and figured out a lot of it on their own."

To get to level 3, people should be thinking about you: "I'm glad X is here, because they understand how computers really work, they learn fast, they are passionate about technology, they can take charge, they communicate well, they are friendly and fun to be around, and they can see the underlying abstract patterns that are obscured by many surface details."

Source: https://www.quora.com/How-does-one-become-a-Staff-Software-Engineer-at-Google-What-might-a-new-grad-entering-the-company-do-to-grow-their-career-to-reach-that-level
Forwarded from Galym
#пробовался_в_фаанг #fb #google #eu

Finally получил оффер от Meta(Facebook) London на позицию University Graduate SWE. Много полезной информации брал из этого сообщества, читал чужие истории и черпал мотивацию, участвовал в моках, и готовился вместе с людьми отсюда. По этому поделиться своей историей считаю долгом😅

Бэкграунд:
В этом году закончил бакалавриат в Казахстанском вузе. Не участвовал в олимпиадах, и не брал в университете курсы по алгоритмам и структурам данных. 2 года работал в продуктовом стартапе совмещая с учебой, а в этом году зашел в аутсорсную компанию.
За все время я решил около 450 задач на литкоде, которые я размазал на 2 года. Более менее активно начал готовиться с весны 2020 года, как раз когда начались локдауны, и смог совмещать учебу и работу с решением задач.
Как раз с этого же времени периодически участвовал в моках сообщества Faang Interview. Лернинг группы в которые мы объединились я считаю были полезны, частенько это мотивировало решать задачи, участвовать с ребятами в контестах, и не сбавлять темп.

Основные ресурсы:
Чтобы понять основные структуры данных посмотрел плейлист Willim Fiset по структурам данных.
Прорешал все в interviews.school, научился там основным алгоритмам.
Купил LeetCode premium подписку. Открываются explore карточки по темам и компаниям, дебаг, и другие фичи, которые я считаю были очень полезными.
Всю необходимую теорию смотрел в гуглах, в литкод дискасс, ютубе.

Interview at Meta London:
В начале осени этого года в LinkedIn увидел что HR из Мета отписала что открылись позиции для Ньюградов в Лондон, и оставила свои контакты. Я ей сразу отписал отправив CV. В итоге ответили за неделю, и позвали на Phone Screen. Не стал спешить, назначил её через месяц.
Phone screen: Как я помню, было easy и medium задачка полностью в формате Leetcode. Я их легко закодил, хорошо коммуницировал, по итогу позвали на онсайт. Её так же назначил через месяц.
Onsite: Состоял из 2 алго, и 1 бихейв секции. Во время подготовки прорешал все easy+med задачи по этой компании, и в итоге как минимум 2 задачи из 4 на онсайте были оттуда. Все интервьюеры были приветливые, общительные, и в целом милые люди. На алго секциях были по ощущениям в основном были medium задачи, все в литкодном формате. Где-то интервьюеры делали хинты, в конце всегда было рабочее оптимальное решение.
Больше всего боялся бихейв секции, но оказалось ничего страшного в ней нет. Начал готовиться к ней за 2 недели до онсайта, Тут брал популярные вопросы, и на каждый вопрос старался вспомнить хотя бы 1 уникальную историю. По этой секции мне очень подсобил мой опыт в продуктовом стартапе, где я был и SWE, и Data Engineer, и даже лидил небольшую команду джунов.
После онсайте я знал, что лучше я выступить не мог, по этому было ощущение уверенности. Через 2 недели пришел оффер.
Forwarded from Galym
Interview at Google Poland:
Где-то после моего Phone Screen в ФБ, открылась вакансия в Гугл на ньюграда в Польшу. Попросил знакомого зареферить, и через пару дней рекрутер позвала пообщаться. Назначил Phone Screen через 2 недели, и начал зарешивать карточку гугла на литкоде.
Phone Screen:
В целом заметил, что гугл любит давать плохо сформулированные задачи. Перед решением нужно задавать много уточняющих вопросов, и это не должно сбивать с толку. По ощущениям, понял что нужно начинать решать задачу когда 100% уверен что понял задачу правильно. Из-за всего этого может появиться волнение, по этому оч тонкая штука. Мне дали жирный хинт, я все нормально закодил в итоге. Через пару дней сказали что фидбек миксед, и хотят сделать мне фоллоуап фонскрин. Второй фонскрин прошел как надо. Позвали на онсайт.
Onsite:
У гугла онсайт состоял из 4 алго, и 1 бихейв секции. Я предпочел разбить эти секции на два дня. В первый день были 3 алго. 2 из них прошли хорошо по ощущениям, а третий я чувствовал что завалил полностью. Задача была многословной. После 10 минут уточнений и разбора разных кейсов я подумал, что вроде бы задачу понял, и описал решение устно. Он согласился с решением, и перешли к кодингу. После кодинга он сказал что видит кейсы когда мое решение сломается, и написал такой инпут. Оказалось, что я не очень то и понял задачу. Половина времени уже прошла, я начал паниковать, и в голову ничего сносного не приходило. Но тем не менее, я постоянно проговаривал то о чем я думаю (что было +, который мне отметили на фидбеке). В итоге брутфорсно решение описал устно, а к нормальному решению я так и не пришел. Стоит отметить, что интервьюер за все это время не давал хинты, и был не очень разговорчив. Казалось что он думает о чем то своем, и даже не слушает. К такому нужно быть готовым, и не поддаваться панике, как это сделал я. Придя домой вечером, прямо перед сном, оптимальное решение само всплыло у меня в голове :)
Кодинг и бихейв в следующий день по ощущениям прошел хорошо. Условие задачи было расплывчатым, нужно было задавать много уточняющих вопросов. По бихейву специально не готовился, т.к. были готовы истории для фейсбука, и этого вполне хватило.
Мне ответили реджектом через пару дней, а на фидбеке сказали что было очень close, googleyness был на высоте, давай ка попробуй через пол года опять.

Lessons learned:
1. Для меня самым сложным за весь путь был пройти CV screen. Я постоянно улучшал свой CV, но проблема того что я не умею себя продать была критичной.
2. Часто я пренебрегал участием в моках. Лучше так не делать. Проводить хотя бы 1-2 мока в неделю чтобы не терять тонус не сложно.
3. Английский - важен. С начала осени я начал ходить на курсы по английскому. Много практики на английском полезно, это чуть меньше стресса на собесе, и еще можно более умело украшать истории на бихейве.
4. Важно не опускать руки во время собеседования до самого конца. Даже если не поняли задачу, зря потратили время, или вам дали слишком жирный хинт, постарайтесь оставшуюся часть вывезти на все 100. Тем более, лучше не показывать свою неуверенность.
"All decisions are objective until the first line of code is written. After that, all decisions are emotional" - крутая фраза, которую я услышал сегодня . Очень сильно отражает культуру написания документов в Амазоне