Привет, из-за последних событий решил поделиться материалами по собеседованиям в зарубежные компании, которые сам собирал последние несколько лет. Описанное ниже - смесь из личного опыта, историй на различных форумах и анекдотов собранных через знакомых - поехали.
Пользователь
Outline: Делаем свой личный VPN от Google за 5$ в месяц (и за 1€ для продвинутых)
В последнее время использовать VPN стало популярно
(Если у вас нет сервера — не беда, появится)
Развёртывание в Kubernetes из GitLab
Развёртывание в Kubernetes из GitLab
Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим действиям необходимым для развёртывания из GitLab в Kubernetes.
А именно мы возьмём максимально простое но достаточно содержательное приложение на React.js, докеризуем его, затем развернём в Kubernetes локально при помощи Docker Desktop. После этого развернём его уже на Google Cloud Platform (GCP), и завершим разработкой CI/CD конвейера в GitLab для публикации нашего приложения в Google Kubernetes Engine.
Желательны но необязательны базовые знания
- Docker;
- Kubernetes;
- Git;
- Node.js;
- React;
- Bash.
В дальнейшем мы сделаем следующее.
- ? Познакомимся c нашим приложением, обсудим из чего оно состоит.
- ? Докеризуем наше приложение.
- ☸️ Развернём наше приложение в Kubernetes локально на Docker Desktop.
- ☁️ Обсудим особенности GCP и как нужно изменить наше приложение, а затем ещё раз развернём наше приложение в Kubernetes но уже в GCP.
- ? Завершим наш туториал созданием конвейера для развертывания приложения в GCP при помощи GitLab.
Мой уход из Яндекса, как не потерять мотивацию за полгода подготовки в FAANG и реджект в Google
Мой уход из Яндекса, как не потерять мотивацию за полгода подготовки в FAANG и реджект в Google.
Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем
Технический уровень кандидата у нас оценивается за счет всего двух типов интервью: секции с кодом и секции дизайна компьютерных систем. Первый тип мы назначаем всем претендентам вне зависимости от их уровня, а вот у кандидатов, которые претендуют на должность старшего специалиста, нужно проверять не только способность писать эффективный и работоспособный код, но и способность разрабатывать сложные системы в целом.
Что такое дизайн информационных систем
Основная цель любой IT-компании — производить сервисы, которые решают задачи пользователей. Мы должны уметь собирать элементы системы в единый механизм, который будет эффективно выполнять поставленную цель, и если первый тип собеседований нацелен в первую очередь на проверку необходимого минимума, то интервью про дизайн систем проверяет достаточность навыков кандидата в достижении конечной цели. Далекому от IT пользователю принципы и устройство систем могут казаться бесконечно сложными, но мы, их разработчики, должны иметь (не обязательно детальное) представление о принципах функционирования и роли каждого компонента.
Опытный читатель может сказать — в мире полно платных и бесплатных решений, из которых я могу собрать систему как из деталей конструктора, зачем мне понимать устройство этих деталей?
[Личный опыт] Удалёнка и жизнь на Пхукете: вечное лето и европейский сервис по азиатским ценам
Остров Пхукет в Таиланде — настоящий тропический рай с вечным летом, теплым морем и фруктами круглый год. Фрилансеры и удаленщики часто уезжают сюда на зимовку, но это не единственный доступный сценарий. Мы поговорили с Олегом — человеком, который профессионально помогает иностранцам переехать на Пхукет. Он сам приехал сюда в 2013 году, открыл бизнес и не просто зимует, а живет постоянно. Он расскажет, как вообще живется на Пхукете, что тут делать IT-специалисту, насколько легко остаться на ПМЖ и что ждет постоянных жителей и тех, кто хочет приехать на зимовку.
Источник
Как я готовился к собеседованию в Google
Мы сделали приложение для поиска инструкторов по сноуборду и горным лыжам
Travers — проект, над которым мы работали полтора года! Под катом я расскажу историю, как мы прошли путь от идеи до реального продукта.
Ультимативный список инструментов для разработчиков и опытных пользователей для Windows
Это обновленный до версии 2020-21 мой список 2003, 2005, 2006, 2007, 2009, 2011 и 2014 годов, который в настоящее время включает все остальные мои списки. Я занимаюсь этим более 17 лет. Вау. Думаю, стоит тратить на это больше времени.
Все собирают утилиты, и у большинства есть список из тех, которые, по их мнению, незаменимы. Вот мой. У всех есть свои задачи, и я, скорее всего, использую каждую хотя бы несколько раз в неделю. Для меня «утилита» означает утилитарность. По этому принципу и построен список.
Все это очень любимые и часто используемые утилиты. Я бы не рекомендовал их, если бы не использовал их постоянно. Никто не платил деньги за то, чтобы быть в этом списке.
Эту статью написал наш коллега Скотт. Вот версия на английском. Ну а сам список под катом.
Собеседование Backend-Java-разработчика: вопросы и где искать ответы. Часть 1
Когда-то я проходил серию собеседований на Backend-Java-разработчика и записывал вопросы себе на будущее, чтобы потом можно было пробежаться и освежить память. Подумалось, что, вероятно, данный сборник будет полезен не только мне, поэтому сдул с него пыль, набросал ответов и делюсь с сообществом. На оригинальность и исключительность не претендую: подобные статьи уже были и на Хабре, и много где ещё — в конце (во второй части) приведу список ссылок, чтобы шпаргалка была максимально полной.
Точно установить сложность всех вопросов не берусь — на разном уровне их потребуется раскрыть с различной степенью подробности. Я написал ответы где-то на плюс-минус middle, щедро приправив ссылками для дальнейших изысканий. На самые популярные вопросы сразу перенаправляю в источники с готовыми ответами. Заодно посмотрим по ссылкам в статье, насколько Хабр может помочь в подготовке к собесам.
Текста получилось много, поэтому пришлось разбить на две части. В первой поговорим про Java и Spring, а обо всём остальном — во второй. Вторая часть тут
Собеседование Backend-Java-разработчика: вопросы и где искать ответы. Часть 2
Публикую продолжение сборника вопросов-ответов с собеседований на Backend-Java-разработчика. В первой части мы прошлись по Java и Spring. А в этой поговрим о Hibernate, базах данных, паттернах и практиках разработки, об одной популярной библиотеке, поддержке и сопровождении наших приложений, а также посмотрим на альтернативные шпаргалки и подведём итоги.
Вернуть пропавший скутер, или история одного IoT мониторинга
Год назад мы запустили пилотную версию промо проекта по децентрализованному прокату электроскутеров.
Изначально проект назывался Road-To-Barcelona, позже стал Road-To-Berlin (отсюда встречающиеся на скриншотах R2B), а в итоге и вовсе был назван xRide.
Основная идея проекта была в следующем: вместо того чтобы иметь централизованный сервис проката автомобилей или скутеров (речь пойдет о скутерах aka электро-мотоциклах, а не kickscooter/самокатах) мы хотели сделать платформу для децентрализованной аренды. О сложностях с которыми мы столкнулись уже писали ранее.
Изначально проект ориентировался на автомобили, но из-за сроков, крайне долгих общений с производителями и огромного количества ограничений по безопасности, для пилота были выбраны электрические скутеры.
Пользователь устанавливал iOS или Android приложение на телефон, подходил к понравившемуся ему скутеру, после чего телефон и скутер устанавливали peer-to-peer соединение, происходил обмен ETH и пользователь мог начать поездку включив скутер через телефон. По завершении поездки так же можно было провести оплату поездки за счет Ethereum из кошелька пользователя на телефоне.
Помимо скутеров пользователь видел в приложении "умные зарядки", посетив которую пользователь мог сам сменить текущую батарею, если она разрядилась.
Так в целом и выглядел наш пилот, запущенный в сентябре прошлого года в двух городах Германии: Бонн и Берлин.
И вот, однажды, в Бонне, ранним утром наша команда поддержки (находящаяся в локации для поддержания скутеров в работоспособном состоянии) была поднята по тревоге: один из скутеров бесследно исчез.
Как его найти и вернуть?
В этой статье я расскажу об этом, но для начала — о том как мы построили нашу собственную IoT платформу и как мы осуществляли мониторинг над ней.
Как я успешно прошел шесть собеседований в Силиконовой долине
В процессе подготовки, который описываю ниже, я сильно опирался на вот этот прошлогодний пост — именно он в своё время побудил меня задуматься, не пора ли переходить в другую компанию. Мне не хотелось постоянно мотаться на другой конец страны и обратно в поисках идеальной работы, так что было ясно: придется собрать волю в кулак и спланировать все собеседования так, чтобы они шли одно за другим. Я нацеливался на вакансии, которые имеют отношение к мобильной разработке, но описываемый подход к обучению, советы и рекомендации годятся и для других случаев.
Надеюсь, моя история вдохновит кого-нибудь, кто сейчас в том же положении (не совсем доволен текущей работой, мечтает переехать в область залива, но несколько недотягивает в плане подготовки), дерзнуть — кто знает, что готовит для них будущее.
devleads — поговорим о профессиональном выгорании
Кто мы:
- Я, Илья Царев, руководитель мобильной разработки Альфа-Банка.
- Илья Кузнецов, imJustik, iOS-тимлид Альфа-Банка.
- Никита Майданов, NikoGenn, руководитель мобильной разработки в Welps.
В этом выпуске мы затронем тему профессионального выгорания (в частности — выгорания тимлида) и связанных с ним мифов. А поможет нам в этом психолог Анастасия Калашникова.
Мы поговорим о профилактике выгорания, о том, почему нормально говорить коллегам «Нет», что делать, если шеф сидит на работе по 10 часов, а вам неудобно из-за этого уходить вовремя, и о многом другом.
— Меня зовут Анастасия, я психолог, и большая часть моих клиентов — это люди из IT. Разработчики, тестировщики, дизайнеры, админы и прочие. Мы часто обсуждаем и нетехнические проблемы, с которыми сталкиваются айтишники, в том числе и выгорание, тему самозванца и подобное.
— Расскажи, пожалуйста, что такое вообще «выгорание».
Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу
В феврале этого года, как гром среди ясного неба, пришло письмо от Mandrill о том, что с 27го апреля он перестаёт существовать как независимый сервис и теперь чтобы им пользоваться нужно будет интегрировать свой Mandrill аккаунт в платный аккаунт MailChimp. Именно платный, пусть даже и самый дешевый. Вот как выглядит ценник MailChimp:
Напомню, что раньше Mandrill был бесплатным для небольших проектов до 12.000 писем в месяц (около 400 в день). Сейчас же как минимум $20 + сколько напосылаешь писем.
Подборка бесплатных инструментов для разработчиков
Массовая почтовая рассылка через Exim или как не попасть в спам
Исходя из совокупности представленных факторов стало понятно, что надо что-то делать с настройками своего почтового сервера Exim. Посмотреть, как это было сделано, приглашаю под хабракат.
Уязвимость «ВКонтакте» позволяла получить прямые ссылки на приватные фотографии
История началась с того, как мне в личку во «Вконтакте» кинули изображение. Обычно, если вещь важная, я её загружаю в облако, но в моём случае в этом не было необходимости, и я решил воспользоваться функцией закладок «Вконтакте».
Nginx и https. Получаем класс А+
Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.
Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Анализ сетевого трафика на сервере с помощью tshark
В практике системного администрирования довольно часто приходится cталкиваться со сложными ситуациями, в которых не помогают ни инструменты сбора статистики (например, netstat), ни стандартные утилиты на основе протокола ICMP (ping, traceroute и другие). В таких случаях часто используются специализированные диагностические утилиты, дающие возможность «слушать» сетевой трафик и анализировать его на уровне единиц передачи отдельных протоколов. Они называются анализаторами трафика, а на профессиональном жаргоне — снифферами. С их помощью можно, во-первых, локализовывать сетевые проблемы и более точно их диагностировать, а во-вторых — обнаруживать паразитный трафик и выявлять в сети зловредное ПО.
Особенно полезными оказываются анализаторы трафика в случаях, когда сетевое ПО плохо документировано или использует собственные закрытые протоколы.
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва и Московская обл., Россия
- Зарегистрирован
- Активность