Dev community interviewboom
340 subscribers
94 photos
16 videos
2 files
25 links
Розробка софта, обмін досвідом, готуйся до технічних співбесід професійно з нами
Мій сайт, де ти можеш перевірити свої скіли https://interviewboom.com
Мій TikTok канал https://www.tiktok.com/@interviewboom
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Update: Будемо бачити кількість юзерів які проходять тестування в real time, реалізацію спробуємо через Server-Sent Events (SSE). Дизайнер переконує що це не зовсім зрозуміло в чому сенс, тому це буде експерементальний значок, що думаєте?
👍4
🌟 Як уникнути God Class і High Coupling антипатернів або коли код перетворюється в спагеті

Проблема стосується не тільки React, але й усіх технологічних стеків. Коли ваші класи, компоненти або сервіси розростаються, ви повинні вирішити, як їх декомпозувати та зменшити витрати на обслуговування (maintenance overhead), підтримку. Саме тут на допомогу приходять software design та system design.

Складність буває глибока, коли в одному компоненті накопичено дуже багато складної логіки. Складна логіка це коли 1 блок коду відповідає за вирішення багатьох бізнес задач/сценаріїв одночасно. Функція обростає стількома залежностями і різними варіантами її вирішення в різних сценаріях що кількість коду сягає 1 тис. і більше строк коду. Наприклад 1 функція одразу вирішує підрахунок ціни товарів у корзині онлайн магазина і вирішує чи даний товар відноситься до категорії акційних і як рахувати ціну для авторизованих, не авторизованих і т.д.

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

Як тільки ми визначили тип складності, наступний крок це декомпозиція:

Для глибокої складності де 1 блок коду (функція, клас, компонент, сервіс) вплутаний у різні бізнес сценарії потрібно виносити кожен окремий кейс в окремий блок, наприклад винести в іншу функцію підрахунок ціни акційного товара. Таким чином щоб зміна логіки підрахунку акційного товара не впливала на інші сценарії.

Для лінійної складністі: послідовний список операцій розділяти на менші під-групи. Нариклад алгоритм підрахунку ціни включає: визначення країни юзера, визначення валюти і курсу, конвертація по курсу, додавання скидок і націнок. Ми просто виносимо валютні операції в іншу функцію, дисконти в іншу і т.д. При цьому назва функції одразу описує за що відповідає код в ній і спрощує/пришвидшує читання коду. Наприклад нам не потрібні зараз валютні оперції, нам треба чекнути функціонал дисконту, відповідно ми просто скіпнули функцію по валютам не читаючи в ній код.

Дану тему я планую розкрити в своїх майбутніх відео по рефакторінгу, якщо цікаво то став лайк!
👍31
😁 Дуже влучна цитата:

The hardest part about job searching is rejection.

The second hardest is not quitting.
👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Всім продуктивної п'ятниці 😅
Не забувайте що ви не кодери, а інженери ☝️ залучайтесь у процеси бізнесу. Ваша продуктивність це не кількість коду і закритих тасок. Це прийняття правильних рішеннь 😉
🤝4
⭐️ Планую зробити розбір цікавого прикладу коду, і залити відос! Поки готую матеріали...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
😉 Готую новий відео матеріал для вас! Буде щось цікаве обіцяю
🔥1
01001000 01100001 01110000 01110000 01111001 00100000
01010000 01110010 01101111 01100111 01110010 01100001
01101101 01101101 01100101 01110010 00100111 01110011
00100000 01000100 01100001 01111001 00100000 01100110
01110010 01101111 01101101 00100000 01101001 01101110
01110100 01100101 01110010 01110110 01101001 01100101
01110111 01000010 01101111 01101111 01101101 00100001
00100000 11110001 10011111 10011001 10011101 🎉
🔥4😁2
🚀🚀🚀 Планую замутити цікавий контент, поки без деталей, але я вирішив перейти на світлу сторону (фронтенд), щоб показати вам цікавий експеремент. Так як я бекенд серцем і душею, то це буде не просто... Але якщо ви підтримаєте лайком то я поборю свої страхи!
Ключові слова:
- React
11🔥3
Читаю код і думаю ну навіщо ми це все оптимізуємо, паттерни, назви функцій, змінних, якщо потім оце все отак виглядає 😂
🙈61👍1🤯1💯1
🔥 Привіт друзі!
Давайте ще раз познайомимся, особливо з тим хто недавно приєднався, або просто хто приєднався десь по "середині" життя цього каналу. Мене звати Роман, я займаюсь програмуванням вже більше 10 років, моя ціль - розвивати українське дев комьюніті і обмінюватись досвідом! Я абсолюний ентузіаст, самоучка, у мене немає цілі заробляти чи просувати щось задля заробітку. Я не вважаю себе експертом, я такий як і ви всі, все життя вчусь на помилках і ділюсь своїм досвідом. Також я працюю над своїм амбіціозним пет проєктом, interviewboom.com. Цей проект я розробляю з нуля, мені допомагало багато різних людей. MVP версія проєкта вже запустилась і працює по посиланню. Там можна пройти тести, 3 спроби на кожний з тестів, оскільки база ще не наповнилась.
👉 Нещодавно ми запустили нову фічу - проходження тестів разом, це означає що я можу з вами ділитись посиланням і всі відповідати на 1 питання, і потім переключатись на наступне друге питання і т.д. Щоб разом синхронно пройти тест і кожен може перевірити свої помилки, влаштувати колективний брейншторм!
Дайте лайк, якщо хочете сьогодні ввечері спробувати під час трансляції! 🫶
6
Привіт, розібрати тему React Compiler? Бачу що є запит на цю тему, якщо цікаво спробую підготувати цікавий матеріал
👍12🔥31
Привіт! це ж треба так завантажився що забув тут написати, всім продуктивного дня і не ложіть прод сьогодні!
👍3
Всіх вітаю з Новим Роком! 🎄

Цей рік був дуже тяжким бо починати щось робити і доводити це до кінця це різні речі, для мене найбільше досягнення це те, що проект interviewboom все ж таки довели до робочої версії. Так покищо тестів і питань дуже мало, так я працюю один на бекенді і в мене є один фронтендер, який мені допомагає. Так мені цей проект не приносить жодного доходу. Але місія створити місце для розробників де вони можуть перевірити свої знання, скіли і у майбутноьому обмінятися досвідом мене надихає продовжувати над цим працювати далі.
Задачі які були вирішені в 25 році:
- Заміна редактора коду, тепер всі питання і відповіді підтримують будь яку мову програмування і ще є можливість виводити в питаннях і відповідях картинки.
- Підключення AI асистента для аналізу тестів і відповідей і сортування їх по рівню складності. Прискорення генерації тестових питань, AI забирає на себе роботу по коригуванню помилок.
- Створення адмін панелі де зручно генерувати і редагувати тести.
- Проходження тесту без таймера, для тих хто навчається і не хоче змагатись за місце у топ юзерів по кількості правильних відповідей.
- Новий режим проходження тесту, тепер я як адмін можу зпускати тест і ми разом можемо проходити його і робити аналіз наших відповідей і помилок.
- Покращення роботи таймера теста, тепер він рахує точно і синхронно.
- Підключення авторизація і реєстрації через Google

Зростання тікток каналу, нас тепер більше 5 тисяч. і я планую генерувати ще більше цікавих навчальних роликів і розвивати дев. комьюніті України! Це все наші спільні досягнення, дякуючи вашій підтримці в мене є мотивація і натхнення зростати з вами далі! 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥91
Коли хтось питає "Як ти вирішив стати програмістом"? В мене все банально просто, це сидіння годинами перед екраном телека і граючи в денді. Коли за вікном морози і довгі канікули, що могло бути крутіше?
Це робило життя цікавішим, яскравішим. 8-ми бітні приставки, жалюгідні китайські підробки, але цифровий світ затягував і дарував нові і незабутні емоції.
Ці часи поглинали сірі будні, початку 2000-х років. Зараз будь який смартфон це вже по дефолту потужний компьютер в кармані, тоді ця коробочка з однією платою, яка весь час глючила, давала розуміння майбутнього, яке нас всіх чекало
6
👉 Анонс нового матеріалу по JavaScript: “Deep dive into Event Loop”

Планую зробити серію відео по Event Loop, вже зібрав матеріал, з глибоким зануренням в саму архітектуру і source code NodeJS.
Ми відповідмо на питання як JS код працює з асинхронними операціями на найнижчому рівні і на прикладі NodeJS (оскільки браузерна версія подібна). Прослідкуємо як асинхронні виклики проходять шлях від функцій в коді до проходження через кожний компонент архітектури NodeJS.

Багато хто говорить що розуміє як працює Event Loop і вважає що це посуті і є JavaScript, але Event Loop це всього лиш один з багатьох компонентів які забезпечують виконання JS коду.
Ви скажите: “Навіщо мені це знати? це ж цілком достатньо просто розуміти що джс однопоточний і не блокувати івент луп.” А вам не хотілось ніколи розуміти повну картину архітектури JavaScript backend/frontend? Щоб бачити всі тонкощі і відповідати на технічній співбесіді з повним розумінням що відбувається під копотом, замість зачитування стандартних фраз без реального усвідомлення як це працює.

Деякі ключові теми, які ми розберемо детально:

• Що таке runtime в JavaScript, і як це повязано з асинхронними викликами
• Як NodeJS обробляє асинхронний код з Event Loop під капотом, проведемо прямий звязок між компонентами архітектури, при виконанні асинхронних коллбеків.
• JS ефективний у high-load не тому, що Node/libuv “розуміють JS”, а тому що вони розділяють відповідальність і ефективно роблять всю “асинхронну” роботу для JS.
• Чому NodeJS написаний на С++ але при цьому використовує 60% JavaScript під капотом.
• Що таке Event Loop фази і як вони взаємодіють з асинхронрим кодом
• Що таке Event Loop tick і як розуміти асинхронний механізм JavaScript в тіках.
• Читаємо асинхронні приклади коду на рівні проходження повного циклу через всю архітектуру NodeJS/Frontend.
• JS Memory management: Розуміння як JavaScript працює з пам'яттю, зберігає структури даних. І як робити профілювання

Дайте лайк кому цікаво!
8👍3
Вітаю, друзі! 🙌
Пропоную пройти разом тест по JavaScript, я буду з вами відповідати на питання і робити роз'яснення по відповідям.

Зараз в мене є приорітет зробити більш якісні питання в тестах, бо є випадки коли питання некоректні або занадто переускладнені, або навпаки занадто прості. Нажаль я особисто можу покращувати і розвивати тільки напрямок JS (backend/frontend), ну і ще PHP, бази даних, Cloud providers, бо це те з чим я працював/працюю тривалий час.

Я думаю що наразі сфокусуюсь виключно на цих напрямках, і їх буду постійно покращувати і наповнювати базу.

Другий момент це підвищення ефективності самих тестів, через персоналізацію самих питань під конкретного юзера. Наприклад якщо юзер ставить собі за ціль отримати рівень senior, але не може успішно пройти ці тести, то ми будемо адаптувати тест таким чином, щоб ті скіли, де у юзера є складнощі частіше з'являлись в тесті, до тих пір, поки юзер не покаже впевнене зання цього напрямку.

Але мені треба дуже ваша підтримка 🙏, і бажаючі пройти разом зі мною тест по JavaScript, і почути ваші відгуки, і покращити ваш досвід!
Формат тестування:
- Я запланую трансляцію в телеграмі на неділю, 8 лютого, на 19:00.
- Вам потрібно приєднатись до трансляції, я поділюсь з вам посиланням на сам тест на JavaScript.
- Приєднатись до проходження теста зможе будь хто, потрібно тільки авторизвуватись на сайті.
- Прохоження тесту без обмеження по часу
- Приєднатися можна в будь який момент
- Коли всі дадуть відповідь на питання і будуть готові рухатись далі, ми переходимо на наступне тестове питання всі разом.
- У кожного юзера буде в фіналі теста свої індивідуальні результати. Які будуть доступні виключно вам.
- Після проходження теста ми разом пройдемось по кожному питанню і перевіримо де правильні відповіді, і проаналізуємо чому саме ці відповіді.

Будемо прокачувати скіли і навчатись разом!
Хто бажає прийняти участь, дайте лайк будь ласка 🙏!
🔥32
Live stream scheduled for
Вітаю! Сьогодні в 19:45 спробуємо пройти тест JavaScript разом, я буду шарити скрін тут на телеграм трансляції в цьому каналі, а на тікток запустю трансляцію і будемо відповідати на питання в тесті і спілкуватись разом.
Посилання на тест: https://interviewboom.com/categories/1/test/107/session-sse/88776b29-5151-40b5-9303-6892711d4661
🔥1
Друзі, чи варто питання в тесті перекласти на українську мову чи лишити на англійській?
Anonymous Poll
49%
Англійська
24%
Українська
27%
Без різниці