Сегодня разбираем 🥏 🥏 🥏
В карточках вы найдете:
🥏 Что такое BFF
🥏 Что он умеет
🥏 Преимущества и недостатки
🥏 Когда стоит, а когда не стоит внедрять BFF
Реальные кейсы👇
1️⃣ Netflix
Для разных устройств — веб, мобильные приложения, Smart TV и игровые консоли, использует отдельные BFF.
2️⃣ SoundCloud
Разделил BFF для веба и мобильных приложений, чтобы по-разному обрабатывать аудиопотоки и метаданные треков, повышая скорость и стабильность работы сервисов.
Сталкивались ли вы с BFF??
😏 — Да
👀 — Нет
В карточках вы найдете:
Реальные кейсы
Для разных устройств — веб, мобильные приложения, Smart TV и игровые консоли, использует отдельные BFF.
Разделил BFF для веба и мобильных приложений, чтобы по-разному обрабатывать аудиопотоки и метаданные треков, повышая скорость и стабильность работы сервисов.
Сталкивались ли вы с BFF??
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопросы на собеседовании системного аналитика по SQL
Собрал для вас самые популярные вопросы, которые частенько встречаются на интервью📝
1️⃣ С помощью какого оператора в SQL можно получить уникальные значения?
2️⃣ Какие существуют виды JOIN и в чём их отличия?
3️⃣ Назовите порядок написания SQL-запроса
4️⃣ Чем отличается HAVING от WHERE?
5️⃣ Чем отличается UNION от UNION ALL?
6️⃣ Что такое агрегатные функции?
7️⃣ Что делает оператор DROP?
8️⃣ Что такое constraints и какие они бывают?
Предлагаю мини-самопроверку
Есть ли среди этих вопросов те, на которые вы не знаете ответ?
☺️ — Изи, все знаю
🤔 — Знаю ответ на большинство вопросов
😡 — Пойду освежу знания
Если я что-то упустил, дополняйте список в комментариях↘️
Собрал для вас самые популярные вопросы, которые частенько встречаются на интервью
DISTINCT — применяется к набору столбцов в SELECT, удаляет дубликаты на уровне строк
• INNER JOIN — возвращает только те строки, где есть совпадение в обеих таблицах.
• LEFT JOIN — возвращает все строки из левой таблицы + совпадающие из правой таблицы. Если совпадения нет, то для правой таблицы подставляется NULL.
• RIGHT JOIN — возвращает все строки из правой таблицы + совпадающие из левой таблицы. Если совпадения нет, то для левой таблицы подставляется NULL.
• FULL JOIN — возвращает строки из обеих таблиц, объединяя их по условию. Если совпадений нет, значения из таблицы без совпадений будут NULL.
• CROSS JOIN — перекрестное (или декартово) произведение. Каждая строка одной таблицы соединяется с каждой строкой второй таблицы, давая тем самым в результате все возможные сочетания строк двух таблиц.
• SELF JOIN — таблица соединяется сама с собой через псевдонимы. Используется, когда необходимо сравнить строки внутри одной таблицы или работать с иерархическими данными, используя псевдонимы (алиасы) для различения «левой» и «правой» копий таблицы.
1. Select
2. From
3. Join
4. Where
5. Group by
6. Having
7. Order by
WHERE фильтрует строки до группировки.
HAVING фильтрует результаты группировки после GROUP BY и используется с агрегатными функциями.
UNION и UNION ALL используются для объединения результатов двух или более запросов.
UNION
Oбъединяет результаты запросов и удаляет дубликаты из результирующего набора.
UNION ALL
Oбъединяет результаты запросов, но не удаляет дубликаты.
Агрегатные функции — это операции, которые выполняют вычисления над набором строк и возвращают одно итоговое значение. Используются для подсчётов и анализа данных.
Примеры:
• COUNT — количество
• SUM — сумма
• АVG — среднее
• MIN — минимум
• MAX — максимум
DROP используется, чтобы удалить объект базы данных, например таблицу или индекс. Он убирает не только данные, которые там были, но и сам объект целиком.
Constraints (ограничения) — это специальные правила, накладываемые на столбцы или таблицы, которые гарантируют точность, достоверность и целостность данных.
• NOT NULL — гарантирует, что в столбце не может быть пустого значения (NULL).
• PRIMARY KEY — уникально идентифицирует каждую строку в таблице. Объединяет свойства NOT NULL и UNIQUE.
• UNIQUE — гарантирует, что все значения в столбце (или комбинации столбцов) различны. Допускает наличие одного значения NULL.
• FOREIGN KEY (Внешний ключ) — обеспечивает ссылочную целостность, связывая столбец с первичным ключом (PRIMARY KEY) другой (родительской) таблицы.
• CHECK — задаёт условие для данных. База не позволит вставить или обновить строку, если значение в столбце не проходит это условие
(например, Возраст >= 0).
• DEFAULT — задаёт значение по умолчанию для столбца. Оно подставляется автоматически при INSERT, если для этого столбца значение не указали.
Предлагаю мини-самопроверку
Есть ли среди этих вопросов те, на которые вы не знаете ответ?
🤔 — Знаю ответ на большинство вопросов
Если я что-то упустил, дополняйте список в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤔25 22 14👍9🔥1😁1
Оффтоп
На просторах интернета нашёл интересный сайт, самое то, чтобы переключить мозг, выдохнуть между задачами или просто залипнуть на пару минут😎
https://floor796.com⚪️
796-й этаж космической станции — большая пиксельная анимированная сцена, где постоянно что-то происходит)
Смотришь и всё время выцепляешь знакомых персонажей, отсылки и пасхалки из фильмов, игр, сериалов, аниме и мемов.😨
Кто уже нашёл Чака Норриса, отпишитесь в комментариях 😅
(Если кликнуть по нему — бьёт кулаком по экрану)
На просторах интернета нашёл интересный сайт, самое то, чтобы переключить мозг, выдохнуть между задачами или просто залипнуть на пару минут
https://floor796.com
796-й этаж космической станции — большая пиксельная анимированная сцена, где постоянно что-то происходит)
Смотришь и всё время выцепляешь знакомых персонажей, отсылки и пасхалки из фильмов, игр, сериалов, аниме и мемов.
Проект, кстати, делает один автор из СНГ и регулярно добавляет новые “комнаты” и персонажей.
Кто уже нашёл Чака Норриса, отпишитесь в комментариях 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11 6😁5🔥2
Всем привет! У меня для вас важная новость
Сделал Boosty где буду выкладывать полезные материалы для СА😎
🔣 По подписке 1000 ₽ → 800 ₽ / месяц (скидка будет действовать 1 неделю):
🔣 Вопросы и ответы с собеседований системного аналитика
🔣 Как правильно составлять резюме (видео)
🔣 Разбор резюме подписчика (видео)
🔣 Создаем документацию REST API с нуля: пошаговый процесс (видео)
🔣 Можно забрать бесплатно:
🔣 Как начать работу на новом месте: чек-лист для системного аналитика
🔣 Какие вопросы задавать на собеседованиях системному аналитику
🔣 Roadmap системного аналитика
⬇️ Ссылка на Boosty⬇️
https://boosty.to/aeksandturchenko
https://boosty.to/aeksandturchenko
https://boosty.to/aeksandturchenko
Если будет отклик, продолжу постепенно выкладывать новые материалы🆕
🔤 Не оформляйте подписку через мобильное приложение! С ноутбука/компьютера цена будет ниже. Такая вот особенность Boosty
Сделал Boosty где буду выкладывать полезные материалы для СА
https://boosty.to/aeksandturchenko
https://boosty.to/aeksandturchenko
https://boosty.to/aeksandturchenko
Если будет отклик, продолжу постепенно выкладывать новые материалы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8 8🔥3
В карточках вы найдёте:
Сталкивались с User Story Map?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
DAU, WAU, MAU — метрики, которые показывают, сколько уникальных пользователей взаимодействовали с сайтом/МП/веб-ресурсом за определённый период. Эти показатели помогают оценивать и анализировать активность аудитории.
🗣 DAU (daily active users) — ежедневные активные пользователи
🗣 WAU (weekly active users) — еженедельные активные пользователи
🗣 MAU (monthly active users) — ежемесячные активные пользователи
❔ Зачем отслеживать метрики
➖ Оценивать вовлечённость пользователей. Высокие показатели означают, что пользователи активно пользуются продуктом. Низкие метрики могут говорить о проблемах в интерфейсе, функциональности или работе сервиса.
➖ Оценивать влияние изменений. Метрики помогают понять, как пользователи реагируют на обновления продукта, редизайн, рекламные кампании.
➖ Оптимизировать маркетинг. Активность пользователей может меняться в зависимости от времени суток, дней недели или сезона. Эти данные помогают запускать рекламу в наиболее эффективные периоды.
➖ Прогнозировать доход и развитие продукта. Анализ поведения пользователей позволяет точнее оценивать будущую прибыль и планировать развитие сервиса.
⚙️ Инструменты для подсчёта
🔣 Google Analytics
🔣 Firebase
🔣 AppMetrica
🔣 Mixpanel
Знакомы с метриками DAU/WAU/MAU?
💩 — Нет
🤔 — где то слышал(а)
🦆 — мяу, дао чего?
Приложение для изучения английского скачали 400 человек. Сегодня в него зашли 90 пользователей. Получается, что DAU = 90. Даже если кто-то заходил несколько раз за день, в метрике учитывается только один (первый) заход.
Приложение доставки еды установили 500 человек, из них в течение недели хотя бы один раз оформили заказ 120. Тогда
WAU = 120
.
Приложение для заказа такси скачали 10 человек. Если каждый из них за месяц заказал хотя бы одну поездку, MAU будет равен 10. Если семеро заказывали такси несколько раз, а трое — ни разу, MAU будет равен 7.
Знакомы с метриками DAU/WAU/MAU?
🤔 — где то слышал(а)
Please open Telegram to view this post
VIEW IN TELEGRAM
1 14🤔12 8🔥3👍2
Что такое corner case? 😨
Corner case — это редкий, нетипичный или пограничный сценарий, который выходит за рамки основного пользовательского пути.
О corner cases важно думать, потому что именно в таких ситуациях становится видно, насколько решение действительно надёжно. Пока всё идёт по плану, система может выглядеть устойчивой и предсказуемой. Но как только нарушается привычный порядок шагов, приходят неполные данные или сталкиваются разные состояния, начинают проявляться слабые места.😏
Хороший аналитик/разработчик думает не только о happy path. Corner cases чаще всего выявляются тогда, когда мы начинаем проверять отклонения от основного сценария: неожиданные действия пользователя, нехватку данных, сбои внешних зависимостей, пропущенные шаги и прерывание процесса.
Пример
Я думаю, все corner cases заранее не предусмотришь, они всё равно будут всплывать. Но глубокое понимание задачи, внимание к нетипичным сценариям и привычка разбирать такие ситуации со временем помогают строить более надёжные решения.🍟
💬 Какой самый неожиданный или болезненный corner case встречался в вашей практике? Пишите в комментариях ⬇ ⬇
Corner case — это редкий, нетипичный или пограничный сценарий, который выходит за рамки основного пользовательского пути.
О corner cases важно думать, потому что именно в таких ситуациях становится видно, насколько решение действительно надёжно. Пока всё идёт по плану, система может выглядеть устойчивой и предсказуемой. Но как только нарушается привычный порядок шагов, приходят неполные данные или сталкиваются разные состояния, начинают проявляться слабые места.
Хороший аналитик/разработчик думает не только о happy path. Corner cases чаще всего выявляются тогда, когда мы начинаем проверять отклонения от основного сценария: неожиданные действия пользователя, нехватку данных, сбои внешних зависимостей, пропущенные шаги и прерывание процесса.
Пример
Сотрудник отправил заявку на согласование, когда его руководителем был один человек. Пока заявка проходит маршрут, сотрудника переводят в другой отдел. Меняется руководитель, набор доступов и, возможно, сама схема согласования.
В этот момент возникает corner case. Система должна продолжить процесс по правилам, действовавшим на момент создания заявки, или пересобрать маршрут по новым данным? Кто теперь имеет право согласовать заявку и видеть её? Старый руководитель, новый или оба? А если часть шагов уже была подтверждена до перевода, остаются ли эти согласования валидными?
Я думаю, все corner cases заранее не предусмотришь, они всё равно будут всплывать. Но глубокое понимание задачи, внимание к нетипичным сценариям и привычка разбирать такие ситуации со временем помогают строить более надёжные решения.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥13👍9✍3
Небольшой пост про localStorage: что это, где используется, какие у него есть преимущества и недостатки и где его найти в браузере, чтобы познакомиться с ним поближе
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍10✍3