Как стать автором
Обновить
36
0

Frontend developer (React, MobX)

Отправить сообщение

Какие неочевидные темы вспомнить перед собеседованием на Frontend разработчика

Время на прочтение4 мин
Количество просмотров29K

С каждым годом собеседования становятся все сложнее и сложнее, а количество вопросов, которые могут спросить, не укладывается в голове.

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

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

Ну что, поехали!

Читать далее
Всего голосов 14: ↑13 и ↓1+14
Комментарии19

System Design 101

Уровень сложностиСредний
Время на прочтение42 мин
Количество просмотров105K



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


Возможно, немного другой формат шпаргалки покажется вам более удобным.


System Design (сборник на английском языке).

Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Комментарии17

Базовые архитектурные решения для обеспечения масштабируемости и производительности в социальных сетях

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров5.1K

Привет, Хабр! За последние полгода я очень увлекся созданием социальных сетей и делаю пет-проект в виде социальной сети.

Если вам интересна эта тема, то возможно, вы уже видели мою предыдущую статью о базовых принципах проектирования архитектуры социальных сетей на Хабре (если нет, вы можете ознакомиться с ней здесь). В ней я рассмотрел основы архитектуры, которые полезны для понимания в процессе разработки социальных сетей.

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

Читать далее
Всего голосов 13: ↑11 и ↓2+11
Комментарии2

Тиннитус (шум в ушах) для айтишников, геймеров, и не только

Время на прочтение16 мин
Количество просмотров72K

ВНИМАНИЕ! Если у вас нет шума в ушах (тиннитуса) и/или нейросенсорной тугоухости, но есть особенности психики в части психосоматики или подобного – покиньте данный пост не читая.

Самые важные победы в мире – победы над собой

Всем привет. Меня зовут Паша Герасимов, мне 38, я – инженер в ИТ, геймер, и у меня диагноз НСТ (нейросенсорная тугоухость), а также субъективный шум в ухе (тиннитус) и гидропс правого лабиринта. По ощущениям, это комбо – шум/гул/свист в ухе, снижение слуха, чувство заложенности за перепонкой, и гиперакузия (повышенная чувствительность к некоторым звукам). Для тех, кто не в теме – представьте, что у вас ухо заложено ваткой, а внутри уха – звук неработающего канала ТВ (как видео пример, или mp3). И так – регулярно, месяцами, без возможности исправления.  

До 37 лет я практически не болел и не ходил по поликлиникам, это повлияло на всю историю с тиннитусом, поэтому для многих очевидные вещи, я понял на своей шкуре. 

Читать далее
Всего голосов 80: ↑78 и ↓2+91
Комментарии155

Современный junior frontend developer на двух работах уровня middle с общей ЗП 400к. Реальность ли в 2023 году?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров73K

Привет. Большая и длинная история, которая только в самом конце превращается в историю успеха. Рекомендуется всем, кто хочет войти в ИТ или уже там.

Читать далее
Всего голосов 96: ↑64 и ↓32+45
Комментарии457

Один компонент, 20+ фич, A/B-тесты: Поможет ли машина состояний?

Время на прочтение16 мин
Количество просмотров2.9K

Сталкивались ли вы с проблемой возникновения багов из-за пересечения включенных фичей в приложении? Или, возможно, была необходимость одновременно проводить большое число A/B-экспериментов в одном компоненте? 

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

Меня зовут Денис Стасьев. В этой статье расскажу о том, как мы внедряли машину состояний в одном из компонентов главной страницы Mail.ru — блоке новостей, что получили на выходе и ещё подробнее о том, почему в итоге остановились на XState.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Инструменты и навыки для новичков. Или как не потеряться в дремучем лесу тестирования

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров25K

Многие, кто приходил в любую новую сферу, задавались вопросами: «какими инструментами необходимо владеть, чтобы…», «а точно ли это весь перечень?», «а какие навыки необходимы, чтобы пройти собеседование?». Таких вопросов больше у новичков, которые уже начали обучение или только в поисках обучения, пытаются понять минимум необходимый для старта.

Давайте разберёмся с вопросами по ручному и автоматизированному тестированию, которые задают в том числе и студенты курса «Инженер по тестированию».
В статье мы пройдём по нужным навыкам, инструментам. Дадим полезные ссылки для углубления в темы и составим карту компетенций.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Почему вы не тренируетесь?

Уровень сложностиСредний
Время на прочтение29 мин
Количество просмотров70K
Читать далее
Всего голосов 57: ↑36 и ↓21+25
Комментарии228

React + Three.js. Создаём собственный 3D шутер. Часть 1

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров17K

Привет, дорогие пользователи мира IT!

В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетать мощь Three.js с гибкостью React, чтобы создать собственную игру прямо в браузере.

В статье вы познакомитесь с библиотекой React Three Fiber и научитесь создавать интерактивные 3D-игры.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии14

Как сделать UI тестируемым и легкоизменяемым?

Время на прочтение14 мин
Количество просмотров7.6K

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

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

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

React Fiber & Concurrency Part 1 (2)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8.6K

В сети много статей и докладов, которые описывают React Fiber, но, к сожалению, они сейчас уже не актуальны. Заметив это, я решил разобраться и актуализировать информацию. Моими основными помощниками были исходники и отладчик, поэтому здесь вы увидите множество ссылок на код из репозитория React. Теперь я хочу поделиться результатами своей работы с вами.

Тема разделена на две статьи. Первая статья расскажет о процессе обновления и внесения изменений в DOM. Вторая статья посвящена реализации не блокирующего рендеринга - Concurrent React. Данная статья является первой из двух.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Подробная настройка Content Security Policy (CSP)

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров29K

Content Security Policy (CSP) - это механизм безопасности веб-приложений, который используется для сокращения рисков, связанных с атаками, такими как внедрение скриптов (XSS) и выполнение нежелательного кода (инъекция). CSP позволяет веб-разработчикам указывать браузерам, из каких источников разрешено загружать ресурсы, такие как скрипты, стили, изображения, шрифты и другие элементы.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Как работает компьютер: глубокое погружение (на примере Linux)

Уровень сложностиСложный
Время на прочтение48 мин
Количество просмотров159K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


Наконец, я сломалась и начала это выяснять. Мне пришлось перелопатить тонны ресурсов разного качества и иногда противоречащих друг другу. Несколько недель исследований и почти 40 страниц заметок спустя я решила, что гораздо лучше понимаю, как работают компьютеры от запуска до выполнения программы. Я бы убила за статью, в которой объясняется все, что я узнала, поэтому я решила написать эту статью.


И, как говорится, ты по-настоящему знаешь что-то, только если можешь объяснить это другому.


Более удобный формат статьи.

Читать дальше →
Всего голосов 151: ↑151 и ↓0+151
Комментарии36

Как улучшить понимание английского на слух

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров21K

У начинающих и продолжающих изучать английский возникают сложности, когда дело доходит до слушания (аудирования). Причем это может быть с самого начала, с самых низких уровней.

Когда я начинал изучать иностранный язык, то наткнулся на простой совет: если ничего не понимаете, то значит, еще рано, аудио или видео слишком сложное. Нужно подобрать что-то полегче. И в этом, думается и есть главный успех прогресса в аудировании.

Читать далее
Всего голосов 10: ↑7 и ↓3+5
Комментарии14

Автоматизация найма: как мы запустили HR-бота и избавились от рутинной работы при поиске кандидатов

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5K

Привет! Я Ольга Татаринова, Head of Ceremonial Magic в AGIMA AI. Сегодня я хочу поделиться историей, как мы ускорили и упростили наём, внедрив HR-чат-бота. Он рассказывает о компании, вакансиях, собирает резюме и предлагает выполнить тестовые задания. Всё это в автоматическом режиме с бесшовным переключением на оператора, если возникает такая потребность.

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии10

Каким образом спецслужбы отслеживают пользователей мессенджеров (без доступа к устройству и ключам)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров61K

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

Читать далее
Всего голосов 53: ↑51 и ↓2+65
Комментарии177

ESLint. Анатомия правил линтинга: разбираем структуру, создаём собственное правило для React-приложения

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров21K

Всем привет! Меня зовут Анастасия Щедрина, я технический лидер по фронтенду проекта размещения объявлений в компании Домклик. Сегодня я расскажу вам немного о том, как устроены правила в ESLint, и покажу на примере, как можно разработать собственные.

Статья будет полезна тем, кто уже задумался о создании своих правил, а также тем, кто использует линтер, но не знает, как он устроен и как подключённые правила обрабатывают наш код.

Читать далее
Всего голосов 28: ↑28 и ↓0+28
Комментарии1

Книга «README. Суровые реалии разработчиков»

Время на прочтение17 мин
Количество просмотров7.7K
image Привет, Хаброжители!

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

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

Ключевые концепции и лучшие практики для начинающих разработчиков — то, чему вас не учили в университете!
Читать дальше →
Всего голосов 10: ↑8 и ↓2+9
Комментарии3

Оптимизация сборки веб-приложения

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.5K

По мере того, как ваше приложение растёт и развивается, растут и затраты времени на его тестирование и сборку, достигая нескольких минут при пересборке в dev-режиме и, возможно, десятков минут при «холодной» production-сборке. Что, конечно, совершенно неприемлемо. И если поначалу увеличение временных затрат может казаться незначительным, то впоследствии это непременно ведёт к ухудшению процесса разработки и может негативно повлиять на скорость выкатки важных релизов или хотфиксов. Таким образом, в какой-то момент вопрос оптимизации и ускорения сборки приложения может стать критически важным для разработчика.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии5

Информация

В рейтинге
Не участвует
Откуда
Омск, Омская обл., Россия
Зарегистрирован
Активность