https://www.gravatar.com/avatar/658a3ea197a3d2e70d81d0619ebfc602?s=240&d=mp

Все что нужно знать о system design interview

Как появились эти собеседования Note У компаний из ранга big-tech уже является нормой прогонять кандидатов по стандартным рельсам интервью из нескольких этапов, помимо банального программирования и решения задачи наиболее эффективным способом, есть отдельный вид интервью по проектированию, дизайну системы или же system design. Далее речь пойдет именно про backend часть. Что за задачи ожидать Большинство компаний предлагают задачи по типу сделать клон какой-то существующей системы, например твиттера, инсты, поиска гугла, гугл документов.

Профилирование сценария по трейсам с прода

Note Очень часто тормозит лишь только часть приложения, при этом тормозит только в prod окружении. Проблема На локальных машинах профилирование не имеет смысла, результаты оказываются совершенно другими, запросы к локальной базе могут тормозить, а на prod занимать 5мс и наоборот. Решение Для достоверного результата необходимо проводить тест на выделенном окружении с отдельной prod-like инфраструктурой. Требуется большая подготовка окружения и нагрузки в целом для правильных выводов. Альтернативное решение Часто на prod уже собираются трейсы, достаточно добавить их на ключевые части сценария, а дальше по каждой части собранных данных строить перцентиль выполнения этапа.

Как сделать почти любой принтер сетевым для печати с телефона и не только

Проблема: У меня есть старый надежный принтер, для работы которого не нужны подписки или дорогущие картриджи, заправить его можно в абсолютно любом месте, а себестоимость печати мала. Тот самый принтер Однако, из интерфейсов у принтера есть только usb, который не очень удобно подключать к современной технике через переходники и ходить постоянно подключать для печати одного документа раздражает. Решение Решено было сделать принтер сетевым, а доступ к нему расшарить через сервер, чтобы у потребителей не было проблем а какие драйвера необходимо установить для работы хотелось сделать абстракцию для печати и оказалась она существует.

Способ тестирования изменений сервиса через shadow-трафик

Note Иногда канареечных релизов недостаточно для обеспечения полностью безопасного релиза. Проблема Пример из реальной жизни - я работаю над одним из высоко нагруженных компонентов системы, который обрабатывает 1,5-2 млн запросов в минуту (33 k RPS). Наш сервис уже стал сложным для внесения изменений, а внутренний механизм устарел и не соответствует новым требованиям бизнеса. Он также уже почти не может быть ускорен и имеет технические проблемы. Мы спланировали и разработали новый механизм работы и обработки данных (изменено около 40% кодовой базы), который нужно интегрировать и перенаправить на него трафик.

Чеклист проверки компании для программиста

Note При поиске новой работы выбирает не только работодатель, но и работник, поэтому необходимо сравнивать варианты между собой. Решил составить список из пунктов и разделов, которые помогут определиться с выбором при поиске работы. Лучше иметь несколько вариантов для сравнения, чтобы выбрать лучший. О компании? 👨🏼‍💻 Заказная ли разработка (свой продукт ли нет) Размер (количество сотрудников) Чем занимаются, клиенты Оценить сайт, сферы деятельности Какая нагрузка и кто пользователи Стек технологий Состав и сложность интервью (слишком легкий фильтр повод попросить командную встречу, если его не поставили) Про саму работу ⚙️ График и расписание, следят ли за временем Есть ли какой-то трекинг времени (софт для слежения) Переработки и их оплата, если говорят нет или что не оплачивают, то стоит опасаться Дежурства и привлечение к работе в нерабочее время Как проходит рабочий день Ожидания от новых сотрудников Оценка команды Карьерный рост🪜 Перспективы Как он происходит Цикл пересмотра зп, как происходит профессиональное развитие Почитать отзывы сотрудников, это часто описывают Предоставляют ли технику💻 Компьютер/ноут (важно, когда придется хранить критичные данные и ноубук будет только рабочим) Аксессуары (монитор, мышка, клавиатура, стол) (приятный бонус) Для удаленной работы бюджет на обустройство домашнего офиса Бонусы💡 Компенсации на питание, такси (если работа в офисе) Оплачивают ли обучение, курсы, книги, материалы Дмс (одиночный или семейный) Премии и какие Оклад 💸 До/после налогов Белый ли Сумма Фиксация в договоре

Универсальный план изучения новых технологий

Note Главная идея поста - понять не синтаксис, а инструмент. Оказавшись в ситуации, когда необходимо освоить новый инструмент, главное не впадать в две крайности: забивать гвозди микроскопом и/или копаться в слишком далеких от нужных на данный момент деталей. На основе своих различных попыток я попытался сформулировать следующие разделы, которые, надеюсь, помогут другим. Этот материал подходит как для языков программирования, так и инструментов (например, для изучения кафки), с небольшой оговоркой про логику работы.