fa
Feedback
2 955
مشترکین
-224 ساعت
+47 روز
+4430 روز
آرشیو پست ها
Читер или нет Вчера собеседовал очередного кандидата в Мету. Кандидат снова из Microsoft. В последнее время их очень много. По первой задаче кандидат назвал несколько вариантов решения, но не смог правильно оценить space&time и выбрать оптимальный вариант. Правда не один из вариантов не был оптимальным. Хотя один из вариантов был близким к оптимальному, но возможно кандидат неправильно понял, что ему написал chatgpt. Он назвал правильную структуру данных, которую можно заюзать (heap), но в описании решения не смог ее оптимальным образом использовать для решения. Пришлось ему подсказать. При этом при реализации он написал код оптимальным образом без доп. помощи, но с несколькими ошибками, которые сам при тестировании не нашел. Пришлось ему также подсказывать. На второй задаче, кандидат неправильно понял задачу, ничего не уточнял, когда я пытался подсказать, что он не то решает, он меня перебивал и пытался меня перекричать. В какой-то момент я забил, он описал решение к какой-то другой задаче, причем брутфорс решение и не успел его реализовать. Я поставил Insufficient по всех 4 осям: Problem Solving, Coding, Verification, Communication. Но не ставил галочку, что он читерил. Но немного странным показалось, что написал оптимальный код на первую задачу при очень нечеткой коммуникации при обсуждении. Это был уже full loop, т.е. screen он уже прошел. Когда засабмитил фидбек, кандидат прошел другой кодинг собес успешно, также успешно прошел поведенческое. Не прошел кодинг со мной и не прошел system design. Причем на system design, интервьюер поставил галочку, что кандидат возможно читерил. Сейчас пошли более умные читеры, уже не так очевидно, читерит или нет. До этого я встречал очевидных AI индусов, который с наушником в ухе разговаривает со мной с задержкой текстами в стиле chatgpt.

Осенью планирую запустить несколько сервисов по подготовке к собесам. Что из этого вам было бы интересно?
Anonymous voting

Интересное интервью с Никитой Шамгуновым Интервью 6-летней давности. Профиль на linkedin: Nikita Shamgunov Достаточно крутой спортивный программист, работал в Microsoft и Facebook. Основал несколько компаний. Одну из них (Neon) он недавно продал за $1B Databricks. https://youtu.be/SAIVPK-l-68?si=2jvEOe-CnZeAHaF5

Промоушены и офисная политика. Часть 4. Прошлые части: Промоушены и офисная политика Промоушены и офисная политика. Часть 2. Промоушены и офисная политика. Часть 3. Продолжение практических советов: 5) Делайте важной частью своей работы выстраивание своего положительного образа в глазах менеджера и скипа. Убедитесь, что у вас есть регулярный 1:1 с вашим менеджером, а также есть регулярные общие митинги с вашим скипом. Делайте так, чтобы они знали про все ваши достижения. Если этого не делать, то это может стоить вам промоушена в лучшем случае, а в худшем плохими оценками на перфомансе или даже увольнениями. 6) Не распыляйтесь — сосредоточьтесь на одной действительно важной цели. На перформанс-ревью или обсуждении промоушена у менеджера будет всего несколько минут, чтобы представить ваш пакет документов. Если за 6–12 месяцев вы занимались тремя десятками второстепенных задач и при этом работали по 80 часов в неделю, выделить одну понятную, важную и ёмкую историю будет почти невозможно. Зато один значимый проект с чётким нарративом и измеримым импактом можно изложить в двух-трёх предложениях — и его поймут и ваш скип-менеджер, и директор, и VP, и другие руководители вашего отдела. 7) Выстраивайте положительные стратегические отношения между командами и отделами. Если вам нужно что-то от другой команды, выстраивайте позитивные отношения с её ключевыми людьми. Будьте вежливы и покажите, какую пользу им принесёт сотрудничество с вами. Сделайте ваше взаимодействие с другой командой или отделом заметным для вашего менеджера. 8) [Актуально только для работы за рубежом] Желательно, чтобы ваш менеджер или скип, директор был вашей этничности. Это не критично, но может серьёзно упростить вам жизнь. Когда вы говорите на одном и том же языке, обсуждения — в том числе технические — получаются глубже, потому что исчезает языковой барьер. Общаясь не на родном языке, человек нередко выглядит менее компетентным, чем он есть на самом деле. По аналогии: услышав по-русски «моя твоя не понимать, начальник», мы подсознательно решаем, что собеседник некомпетентен, хотя он может быть значительно умнее нас — просто язык мешает это показать. Кроме того, общий культурный контекст упрощает взаимопонимание и помогает быстрее стать хорошими коллегами и друзьями. Хотя в глобальных компаниях нельзя быть предвзятым, но на практике все люди остаются людьми. И я часто вижу как быстро растут коллеги, которые из той же страны, что и менеджер. Часто китайцы промоутят китайцев, индусы индусов, турки турком и т.д. 9) Не стремитесь всегда быть правым. Это часто приводит к постоянной критике с вашей стороны, блокировкам, непрактичным решениям и испорченным отношениям. Старайтесь принимать более прагматичные решения — те, которые поддерживает большинство. Если решение принципиально неверно, его нужно критиковать, но уважительно. Если оно рабочее, пусть и неидеальное, не стоит идти против большинства себе в ущерб. Лучше двигаться вместе и надолго, пусть и не самым оптимальным путём, чем быстро и «идеально», но недолго и с испорченными отношениями. 10) Замечайте успехи коллег, делайте их заметными, благодарите и публично отмечайте достижения других. Это поможет выстроить хорошие отношения, которые пригодятся вам в будущих проектах и для получения хороших фидбеков. И, как ни странно, это повысит и вашу личную видимость — даже если вы напрямую не участвовали в этих достижениях. И главное — имейте в виду: работа в коммерческих компаниях — это существование в жёстких человеческих иерархиях, порой близких к авторитаризму. Это не демократия и даже не научное сообщество, где устанавливается истина. Если хотите быть успешными в таких иерархиях, либо постройте свою (например, создав собственную компанию), либо принимайте правила игры и используйте их в свою пользу.

Perplexity сделала предложение о покупке Google Chrome за $35B Доход компании Perplexity за 2025 прогнозируется на уровне $100M. Сама компания Perplexity оценивается в $18B. До этого они пытались купить тикток.

Сегодня вышло интервью у Дудя с Андреем Дороничевым. В нем он рассказал, как он отказался от $6M-$10M в течении 4 лет в Googl
Сегодня вышло интервью у Дудя с Андреем Дороничевым. В нем он рассказал, как он отказался от $6M-$10M в течении 4 лет в Google и ушел в свободное плавание. У меня, конечно, поменьше, у меня остался $1M еще не полученных акций. Может получить основной вестинг 15 Августа (~$150k) и почилить немного?...

Сегодня получил результаты перфоманс ревью Летом у нас сейчас промежуточное перфоманс ревью. Отличие от основного в том, что по результатам бонус и акции не дадут и всего 2 возможные оценки: BE (below expectation) и at or above. Было много новостей про то, что в это перфоманс ревью таргет BE - 20%, от которых будут планомерно избавляться. Благо я получил At or Above. Так что игра в кальмара продолжается....

Сколько я заработал за 18 лет работы в программировании? Приблизительная сумма - $3.2M или 344 миллиона рублей до вычета налогов. Из них за первые 9 лет работы в Москве ~$250k. Несколько лет это парт тайм и рост от junior до lead. ~$50k в Европе до того, как пришел в Амазон. В Амазон ~$500k за 3.5 года. И примерно, $2.4M за 4.5 года в Meta.

Сэм Альтман вчера на презентации сказал, что gpt5 это как группа экспертов, PhD уровня, по всем сферам знаний. По математике
Сэм Альтман вчера на презентации сказал, что gpt5 это как группа экспертов, PhD уровня, по всем сферам знаний. По математике и программированию это топ среди победителей межнаров по математике и программированию.

Собеседовал сегодня кандидата, попросил закрыть все вкладки и пошарить экран через zoom. Кандидат сказал, что у него проблемы с ноутом и он перезвонит через пару минут. Через пару минут присоединился к звонку, экран не пошарил и сказал, что у него проблемы с ноутом. Предложил переназначить собеседование. Интересно, там реально были проблемы с ноутом или нет.

Мета наняла еще одного 24 летнего разраба за $250M В этот раз это Matt Deitke. Родился в 2001 году, в 2019 поступил в University of Washington. В 2023 закончил бакалавриат, в 2024 в тоже уже универе получил PhD. Парралельно с учебой в универе работал в Allen Institute, где занимался AI. В 2024 создал AI стартап Vercept. В 2025 отклонил офер в $125M, но позже принял офер в $250M от Meta.

Вышел gpt5. Графики с официальной презентации от Open AI выглядят вот так. Столбцы 69.1 и 30.8 имеют одинаковый размер, котор
Вышел gpt5. Графики с официальной презентации от Open AI выглядят вот так. Столбцы 69.1 и 30.8 имеют одинаковый размер, который раза в 3 меньше, чем столбец 74.9. И 52.8 в два раза больше 69.1.

Ситуация прояснилась, он на конференции выступал.
Ситуация прояснилась, он на конференции выступал.

Сегодня в столовке Мета встретил Михаила Бурцева Интересно к чему бы это, может его тоже переманили для занятия AI? Но пропуск у него был гостевой.

Промоушены и офисная политика. Часть 3. Промоушены и офисная политика. Часть 2. Практические советы: 1) Не разводите панику. Если вы будете постоянно говорить, что ничего не получится, всё плохо, везде сложности и преграды, то ваше восприятие как профессионала снизится. Кроме того, вы станете человеком, с которым сложно работать. Не бывает простых проектов, всегда есть технические или организационные сложности. Воспринимайте всё спокойно, сделайте так, чтобы менеджмент видел в вас профессионала, который уже всё видел, его ничем не удивить, и он решит все проблемы без паники и успешно заделиверит проект. Представьте хирурга, который начал бы паниковать во время операции: «О боже, тут кровь, органы, что делать!» Или пилота, который бы всё время говорил в салон: «О боже, тут облака, ветер, куча других самолётов, трясёт и куча непонятных и неудобных тумблеров в кабине, я не знаю, что делать!» 2) Делайте из сложностей свои достижения. Вы обязательно столкнётесь со сложностями при работе над проектами. Возглавьте их решение и обязательно сделайте это видимым менеджменту. Напишите док, письмо, пост и т. д. Это позволит вам создать образ того, кто решает проблемы. 3) Поддерживайте все инициативы, которые приходят от менеджмента. Компании — это не демократии, это иерархии по типу диктатур. Ваш успех в компании зависит от менеджмента. Если менеджмент уже что-то решил, то дальше это только вопрос выполнения, а не дискуссии. Дискутировать имеет смысл, когда решение ещё не принято, и вы один из тех, кто принимает решение. Когда решение уже принято, то открыто его критиковать и не соглашаться смысла нет. Более правильной стратегией будет всячески её поддерживать. Если вы видите в ней косяки, то вы сможете их превратить в свои достижения, их решив. 4) Меняйте команды или компании если застряли на одном уровне и хотите расти. Впечатление о вас складывается в первые месяцы работы и часто его изменить практически невозможно. Если вы пришли джуном, то вас так и будут воспринимать, кто с вами работал с вами с самого начала. Даже если вы уже доросли до синьера. Вам придется ждать пока все в команде сменяться, чтобы изменить это отношение к себе. Это может занять 3-5 лет. Вы можете перезагрузить отношение к себе сменив команду или компанию. Очень часто при смене компании вы сходу можете получить +1 левел. Достаточно хорошо показать себя на поведенческом собесе. Правильно подобрать примеры и немного приукрасив свой опыт. Продолжение следует.

Лекция Стива Джобса 1992 года в MIT 37 летний Стив Джобс рассказывает про свою компанию Next и про причины ее создания. Компания была создана в 1985 году. Кроме воркстанций они разработали кучу прорывного софта. Они создали фреймворки, библиотеки для ООП, GUI и создали первые динамический веб страницы(в противовес статическим вебсайтам). С использованием компов и софта Next был создан интернет(World Wide Web), игры Doom и Quake, первый браузер, первый веб сервер. https://youtu.be/Gk-9Fd2mEnI?si=xdTaeZDH7M3ni0BF

Как в Java объявить основные структуры данных для собеса по алгосам 1) Массив
int arr[] = new int[n];
String arr[] = new String[n];
Переменной длины:
List<Integer> arr = new ArrayList<>();
2) Стэк
Stack<Integer> stack = new Stack<>();
3) Очередь
Queue<String> queue = new ArrayDeque<>();
Queue<String> queue = new LinkedList<>();
4) Хэш-таблица
Map<String, String> map = new HashMap<>();
5) Хэш-сет
Set<String> set = new HashSet<>();
6) Heap(Куча/PriorityQueue)
PriorityQueue<String> queue = new PriorityQueue<>();
7) Список Предполагать, что уже есть класс Node с полями val, next. Если список двусвязный, то есть еще prev. 8) Бинарное дерево Предполагать, что уже есть класс TreeNode с полями val, left, right 9) Граф Часто граф в задаче - это двумерная матрица, поэтому ничего дополнительного объявлять не нужно. Списки смежности:
Map<Node, List<Node>> graph = new HashMap<>();
Ключ - это вершина (иногда, это может быть String, Integer и т.д.) List<Node> - список смежных вершин. Матрица смежности:
boolean graph[][] = new boolean[n][n];
graph[u][v] == true, если есть ребро u->v
Объектно-ориентированные подход: Считать, что есть класс Node, с полем val и методом
pubic List<Node> getNeighbors();
Смотри также Шпаргалка по Java для алгоритмического собеседования

Промоушены и офисная политика. Часть 2. Прошлая часть: Промоушены и офисная политика Что важно для промоушенов, кроме скилов? 1) Хорошие отношения с менеджером. Ваше performance review и возможность повышения во многом зависят от менеджера. Именно он выставляет предварительную оценку и отстаивает её. Менеджер решает, стоит ли инициировать процесс повышения, а во время самой процедуры защищает ваш кейс. Поэтому поддерживать хорошие отношения с менеджером критически важно как для успешного performance review, так и для получения повышения. 2) Хорошие отношения с вашим skip-менеджером (менеджером вашего менеджера). Для перехода с уровня junior на middle, а затем на senior достаточно, чтобы ваш skip знал о вашем существовании и слышал о вас лишь хорошее. При продвижении с senior на staff и далее отношения со skip’ом становятся не менее важными, чем отношения с непосредственным менеджером. Даже на более низких уровнях именно skip принимает решение о вашем повышении или, как минимум, оказывает на него серьёзное влияние. Поэтому крайне важно, чтобы у него было о вас благоприятное мнение. 3) Умение вашего менеджера в промоушены. В разных компаниях процесс повышения может быть организован по-разному. Важно, чтобы ваш менеджер хорошо понимал, как именно он работает в вашей компании, и умел использовать эту систему. Кроме того, у него должно быть к этому личное стремление. Если отношения с менеджером у вас хорошие, но ему лень заниматься продвижением сотрудников, отстаивать их интересы и регулярно добиваться повышений для членов команды, то даже при отличных отношениях и нужных скилах и результатах шанс на ваше продвижение резко снижается. 4) Ваша visibility в отделе. В процессе продвижения задействованы не только ваш менеджер и skip, но также другие менеджеры отдела и инженеры уровня senior и выше. Поэтому важно, чтобы в отделе о вас знали и отзывались положительно. Повышайте свою заметность: участвуйте во встречах за пределами своей команды, проводите презентации и демо, пишите документацию, рассылайте и публикуйте её. Так ваши достижения увидят не только менеджер и ближайшие коллеги, но и более высокое руководство, а также соседние команды. 5) Наличие позиции и бюджета. Это особенно критично для продвижения на уровни senior+. Если в вашей команде уже есть техлид — как и во всех соседних командах отдела — вы не сформировали с нуля новый скоуп для отдельной подкоманды/команды, а команда и отдел не планируют роста, то вероятность вашего повышения до уровня staff+ существенно снижается. 6) Выиграть конкуренцию у других разработчиков вашего уровня, которые стремятся к кому же промоушену. Например, в вашей команде восемь человек, трое из них — инженеры уровня senior, а также есть техлид (staff). Вы тоже рассчитываете на повышение до уровня staff. При ограниченном бюджете вам предстоит обойти всех этих коллег: нужно выглядеть наиболее ценной кандидатурой. Тогда, когда появится возможность — например, техлид уйдёт из команды, отдела или компании либо сам получит повышение — именно вас назначат на его место. Тут можно работать в двух направлениях - построение своего позитивного образа и построение негативного образа ваших конкурентов. 7) Приоритетность направления, которым вы занимаетесь. Проекты, которыми вы занимаетесь, должны быть приоритетными для вашей команды, отдела и компании в целом. В противном случае, даже при безупречном исполнении и значительном импакте, их ценность не будет оценена, и вероятность вашего повышения существенно снизится. 8) Бурный рост вашей команды, отдела. Если отдел быстро растёт, то при грамотном подходе открываются возможности для ускоренного повышения. Постоянно появляется новый скоуп (в том числе благодаря вам), возникают потребности в техлидах для этих направлений и т. д. В такой ситуации шансы на продвижение при прочих равных существенно возрастают.

Интересное интервью с Senior Staff (E7/IC7/L7) разработчиком из Meta. В нем он рассказывает про свой путь, историю промоушенов и дает советы. В мета он занимался разработкой нового языка программирования - hacklang и миграцией код базы компании с php на hacklang. https://www.youtube.com/watch?v=SbKWawTrsb0