Java Developer
6.45K subscribers
235 photos
8 videos
12 files
279 links
MAKE JAVA GREAT AGAIN

Мемы: @java_memes
加入频道
5.Функциональщина. Если на проекте используется ФП, а на позициях чисто по Scala(not better Java) ФП используется почти всегда, аналогом вопроса про HashMap является разбор Монады, рассказ про чистые функции и ссылочную прозрачность. Причем в теорию категорий никто не лезет. Возможно, спрашивают на собеседованиях Senior Scala. Достаточно рассказать на прикладном уровне что такое Монада, от кого она "наследуется", зачем нужна, что дает. Отсюда вытекают вопросы про Аппликативы, Функторы, Моноиды и различные реализации в Scala. Если вы использовали какие-то библиотеки, типа Cats/Scalaz/ZIO/Monix, то обязательно и по ним спросят, но очень поверхностно.

6.Архитектура. Обязательно будут вопросы про архитектуру. Попросят расписать все про последний проект. Рассказать, почему реализовано так, а не иначе, что хотел бы улучшить и пр. Дают задачу на разработку архитектуры под различные бизнес-задачи. Но в большинстве случаев все сводится к распределенным системам и отсюда вытекает много вопросов по оптимизации таких систем и доп вопросы по алгоритмам, Например, как реализовать транзакционность для распределенных хранилищ данных или назвать алгоритмы распределения обработки одного бесконечного входного потока данных несколькими потоками приложения.
После полутора часов первой обязательной части собеседования идут проектно-специфические вопросы. Их обычно задают и на Java и на Scala-собеседованиях.

7. Kafka и другие. Одни из самых популярных вопросов - это Kafka. Любят спрашивать, почему она так популярна, чем отличается от других очередей и очередь ли это вообще? Для чего там партиции и топики, можно ли без них, какие гарантии дает Kafka. Еще спрашивают про Spark/MapReduce, но далеко не идут. Про RDD, HDFS, этапы MapReduce, проблемы, с которыми сталкивались, их способы решения. Из deprecated вещей бывает что-нибудь про акку. Например, какой пул используется внутри, как акторы хранят очередь задач и взаимодействуют друг с другом, можно ли стейт менять. Как правило функциональное программирование и BigData вместе не дружат, поэтому про это и спрашивают мало где.

8. SQL. Про SQL спрашивают далеко не везде. Просят организовать хранение данных для разных кейсов. Например, профили пользователей, которые можно лайкать. SQL/NoSQL ли это будет? Какие таблицы нужны? Какие связи будут? Потом могут попросить написать хитрый SQL запрос для выгрузки данных из твоей же только что созданной БД. И благодаря таким вопросам могут указать на ошибки. Популярен такой вопрос: очень долго выполняется SELECT, ваши действия? Сразу намекну, что проставления индексов, просмотр плана запроса, выпиливание JOIN из запроса недостаточно. Редко всплывают вопросы про ACID/BASE и уровни изоляции транзакций.

9. REST/SOAP. Попадаются вопросы по REST/SOAP и протоколам, которые они используют. В основном про TCP/UDP и HTTP. Например, когда нужен UDP, а когда TCP? Назвать примерно хотя бы уровни OSI. Методы HTTP, какие гарантии дает GET, а какие POST, их различия, какие где надо использовать. В задачах про архитектуру часто просят написать API и объяснить почему здесь POST, а не GET или наоборот.

10. DevOps. Для любителей Devops-практик есть плохая новость. Про это нигде не спрашивают. Из 17 компаний меня спросили только в одном месте что-то про K8s и Docker. И то, поняли, что я ничего про это не знаю, но в итоге все равно оффер прислали.
Java Developer pinned «Java to Scala. Вопросы с собеседований Недавно у меня друг перешел на Scala-проект. Он готовился две недели, прошел 17 собеседований, получил 7 офферов. До этого у него было два года коммерческого опыта на java-проекте. Я попросил его расписать, что спрашивают…»
AlphaZero

Начал читать «21 урок для 21 века». Решил поделиться отрывком про AlphaZero, который меня удивил. Может кто тоже не в теме

Уже давно никого не удивляет, что компьютер способен обыграть человека в шахматы, но 7 декабря 2017 года алгоритм AlphaZero компании Google выиграл у Stockfish 8, чемпиона мира 2016 года среди компьютерных программ. Stockfish 8 имела доступ к опыту, накопленному человеком за сотни лет игры в шахматы, а также к данным шахматных программ за несколько десятков лет. Она могла просчитывать 70 миллионов шахматных позиций в секунду. Скорость вычислений AlphaZero составляла лишь 80 тысяч операций в секунду, и создатели программы не обучили ее шахматной стратегии – даже стандартным дебютам. Осваивая шахматы, программа AlphaZero использовала самые современные методы машинного обучения, играя сама с собой. Тем не менее из ста партий, сыгранных со Stockfish 8, новичок AlphaZero выиграл 28 и свел вничью 72. Ни одного проигрыша! Поскольку алгоритм AlphaZero не учился у человека, многие из его выигрышных ходов и стратегий выглядят весьма необычно. Их с полным основанием можно назвать творческими – если не гениальными.

Угадайте, сколько времени потребовалось AlphaZero, чтобы научиться играть в шахматы, подготовиться к матчу с Stockfish 8 и развить у себя гениальную интуицию? Четыре часа. Это не опечатка. Столетиями шахматы считались одним из высших достижений человеческого разума. Программа AlphaZero за четыре часа без какой бы то ни было помощи со стороны человека проделала путь от полного незнания до вершин мастерства.
Внутренние митапы

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

Формат такой — сначала докладчик выступает на выбранную тему, а потом все вместе дискутируем. Тема может быть любой — от внутреннего устройства проекта до супер модной технологии.

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

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

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

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

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

А у вас в компании проводятся митапы?
В «Яндекс.Такси» появился рейтинг пассажиров
Java Developer
В «Яндекс.Такси» появился рейтинг пассажиров
Для тех, кто не в теме, это кадр из Чёрного зеркала (3 сезон 1 серия). В этой серии показывается мир, где у каждого человека есть социальный рейтинг. И от этого рейтинга зависит всё: подвезёт ли таксис, выдадут ли тебе кредит, как будут относиться коллеги на работе, пригласят ли друзья на свадьбу.

Цените фрагмент из серии - https://youtu.be/ykLVwV9uGtQ
Про инстаграм

Хочу поделиться наблюдениями:

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

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

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

В общем пора прокачивать свой инстаграм. Подписывайтесь! instagram.com/zybkin Там ничего лишнего, только годный контент: мемы и еда. И немного офисных будней.
Вакансии от Авиасейл из сторис
В ближайшее время работаю
Anonymous Quiz
57%
Из дома 🏡
43%
Из офиса 🏢
Удаленка и карантин

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

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

Месяц удаленки. Не думал, что так быстро привыкну. Проснулся, сделал зарядку, заварил чай, включил vpn, rdp и уже на работе. И никаких пробок и толкучек в метро. Эффективность тоже увеличилась. Отсутствие минусов опен спейсов этому способствовало. Спокойно сидишь пилишь задачи, а если нужно обкашлять срочный вопрос, то всегда можно позвонить.

Карантин внес и другие коррективы. Компании стали работать в минус. В моей, например, многих сотрудников перевели в режим простоя (айти отделы тоже). Простой - это приостановка работы по экономическим причинам и когда ты получаешь не менее 2/3 от зп. Дальше нам предложили на выбор проявить лояльность компании и работать или отдыхать. То есть можно не работать и получать 2/3 от дохода. Но почти все работают.

Пишите, как у вас поменялась работа в период карантина @zybkin
IT после кризиса

Судя по тому, что пишут в личку и по рассказам моих знакомых, во многих компаниях сокращают бюджеты и замораживают проекты. Объявляют, что в ближайшее время не будет индексаций зп и повышений в грейдах. Приостанавливают найм новых сотрудников. Но это сейчас, в коронакризис. Про то, что будет после кризиса, пока непонятно. На эту тему недавно посмотрел два интересных видоса от Димы SeniorSoftwareVlogger’а и Сергея Немчинского.

Что ждет программистов после коронавируса youtu.be/Dq9Qvhnf_iQ

Как отразится кризис на IT
youtu.be/iHphKrMxpH0
У меня после конференций скопилось несколько тестов от компаний. Чтобы они не лежали без дела в заметках, буду периодически публиковать их сюда.
Какой класс не Comparable?
Anonymous Quiz
12%
java.lang.String
18%
java.util.TreeSet
41%
java.io.File
29%
java.lang.Enum
Stream.forEach() принимает в качестве аргумента
Anonymous Quiz
46%
Collection
19%
Supplier
34%
Consumer
Результат вызова System.out.println(Integer.MIN_VALUE < Double.MIN_VALUE);
Anonymous Quiz
28%
напечатает true
36%
напечатает false
36%
не скомпилируется
Чему равно Integer.MIN_VALUE + Integer.MAX_VALUE
Anonymous Quiz
24%
0
22%
1
32%
-1
22%
выбросит ArithmeticException