Oracle Developer👨🏻💻
الذهاب إلى القناة على Telegram
🔝 канал о разработке в СУБД Oracle: SQL, PL/SQL, оптимизация, архитектура и другое... Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ. Основатель: @denis_dbd Кивилёв Денис Менеджер: @love_flowerrr Влада
إظهار المزيد3 402
المشتركون
+124 ساعات
+47 أيام
+7530 أيام
جاري تحميل البيانات...
القنوات المماثلة
سحابة العلامات
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
يوليو '26
يوليو '26
+92
في 0 قنوات
يونيو '26
+55
في 0 قنوات
Get PRO
مايو '26
+41
في 0 قنوات
Get PRO
أبريل '26
+45
في 0 قنوات
Get PRO
مارس '26
+49
في 0 قنوات
Get PRO
فبراير '26
+72
في 0 قنوات
Get PRO
يناير '26
+32
في 2 قنوات
Get PRO
ديسمبر '25
+42
في 0 قنوات
Get PRO
نوفمبر '25
+84
في 0 قنوات
Get PRO
أكتوبر '25
+50
في 0 قنوات
Get PRO
سبتمبر '25
+49
في 1 قنوات
Get PRO
أغسطس '25
+42
في 0 قنوات
Get PRO
يوليو '25
+42
في 0 قنوات
Get PRO
يونيو '25
+97
في 0 قنوات
Get PRO
مايو '25
+45
في 0 قنوات
Get PRO
أبريل '25
+48
في 0 قنوات
Get PRO
مارس '25
+46
في 0 قنوات
Get PRO
فبراير '25
+77
في 1 قنوات
Get PRO
يناير '25
+55
في 0 قنوات
Get PRO
ديسمبر '24
+48
في 0 قنوات
Get PRO
نوفمبر '24
+78
في 0 قنوات
Get PRO
أكتوبر '24
+77
في 0 قنوات
Get PRO
سبتمبر '24
+70
في 1 قنوات
Get PRO
أغسطس '24
+58
في 1 قنوات
Get PRO
يوليو '24
+45
في 1 قنوات
Get PRO
يونيو '24
+63
في 0 قنوات
Get PRO
مايو '24
+59
في 0 قنوات
Get PRO
أبريل '24
+78
في 0 قنوات
Get PRO
مارس '24
+58
في 0 قنوات
Get PRO
فبراير '24
+73
في 0 قنوات
Get PRO
يناير '24
+72
في 0 قنوات
Get PRO
ديسمبر '23
+54
في 0 قنوات
Get PRO
نوفمبر '23
+67
في 0 قنوات
Get PRO
أكتوبر '23
+90
في 0 قنوات
Get PRO
سبتمبر '23
+86
في 0 قنوات
Get PRO
أغسطس '23
+96
في 0 قنوات
Get PRO
يوليو '23
+68
في 0 قنوات
Get PRO
يونيو '23
+54
في 0 قنوات
Get PRO
مايو '23
+59
في 0 قنوات
Get PRO
أبريل '23
+76
في 0 قنوات
Get PRO
مارس '23
+59
في 0 قنوات
Get PRO
فبراير '23
+68
في 0 قنوات
Get PRO
يناير '23
+74
في 0 قنوات
Get PRO
ديسمبر '22
+66
في 0 قنوات
Get PRO
نوفمبر '22
+81
في 0 قنوات
Get PRO
أكتوبر '22
+70
في 0 قنوات
Get PRO
سبتمبر '22
+72
في 0 قنوات
Get PRO
أغسطس '22
+74
في 0 قنوات
Get PRO
يوليو '22
+90
في 0 قنوات
Get PRO
يونيو '22
+83
في 0 قنوات
Get PRO
مايو '22
+73
في 0 قنوات
Get PRO
أبريل '22
+82
في 0 قنوات
Get PRO
مارس '22
+112
في 0 قنوات
Get PRO
فبراير '22
+79
في 0 قنوات
Get PRO
يناير '22
+96
في 0 قنوات
Get PRO
ديسمبر '21
+102
في 0 قنوات
Get PRO
نوفمبر '21
+140
في 0 قنوات
Get PRO
أكتوبر '21
+73
في 0 قنوات
Get PRO
سبتمبر '21
+51
في 0 قنوات
Get PRO
أغسطس '21
+124
في 0 قنوات
Get PRO
يوليو '21
+144
في 0 قنوات
Get PRO
يونيو '21
+150
في 0 قنوات
Get PRO
مايو '21
+36
في 0 قنوات
Get PRO
أبريل '21
+48
في 0 قنوات
Get PRO
مارس '21
+159
في 0 قنوات
Get PRO
فبراير '21
+51
في 0 قنوات
Get PRO
يناير '21
+30
في 0 قنوات
Get PRO
ديسمبر '20
+1 173
في 0 قنوات
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 28 يوليو | 0 | |||
| 27 يوليو | +1 | |||
| 26 يوليو | 0 | |||
| 25 يوليو | +1 | |||
| 24 يوليو | +2 | |||
| 23 يوليو | +7 | |||
| 22 يوليو | +1 | |||
| 21 يوليو | +2 | |||
| 20 يوليو | +3 | |||
| 19 يوليو | +3 | |||
| 18 يوليو | +1 | |||
| 17 يوليو | +2 | |||
| 16 يوليو | +9 | |||
| 15 يوليو | +9 | |||
| 14 يوليو | +9 | |||
| 13 يوليو | +4 | |||
| 12 يوليو | 0 | |||
| 11 يوليو | +1 | |||
| 10 يوليو | +2 | |||
| 09 يوليو | +6 | |||
| 08 يوليو | +9 | |||
| 07 يوليو | +1 | |||
| 06 يوليو | +2 | |||
| 05 يوليو | +1 | |||
| 04 يوليو | 0 | |||
| 03 يوليو | +3 | |||
| 02 يوليو | +8 | |||
| 01 يوليو | +5 |
منشورات القناة
Задача на соединения № 1
Коллеги, всем привет! 👋
На связи Денис.
Люблю такие штуки - в голове представлять как будет построен запрос исходя из данных и DDL. Короче говоря, давайте проверим, как вы шарите в физических методах соединения.
Вот две таблицы:
CREATE TABLE customers (
customer_id NUMBER PRIMARY KEY,
status VARCHAR2(10),
name VARCHAR2(100)
);
-- 10 000 000 строк
CREATE TABLE orders (
order_id NUMBER PRIMARY KEY,
customer_id NUMBER NOT NULL,
order_date DATE NOT NULL,
amount NUMBER NOT NULL
);
-- 500 000 000 строк
CREATE INDEX orders_cust_ix ON orders(customer_id);
И запрос:
SELECT c.customer_id, c.name,
o.order_id, o.order_date, o.amount
FROM customers c
JOIN orders o ON o.customer_id = c.customer_id
WHERE c.status = 'VIP';
Важный факт: status = 'VIP' - это примерно 100 клиентов из 10 миллионов.
Статистика актуальная, гистограммы собраны.
Три вопроса
🔹 Какой физический метод выберет оптимизатор - NESTED LOOPS, HASH JOIN или SORT MERGE JOIN?
🔹 Какая таблица станет внешней (driving)?
🔹 Как Oracle будет читать ORDERS - по индексу или полным сканом?
И бонусный вопрос для синьоров 🍅
А что изменится, если VIP-клиентов будет не 100, а 4 000 000?Пишите ответы в комментариях. В четверг разберем 🎓 С вами был Денис 🤝 #oracle #sql #оптимизация #performance #DBA #oracledeveloper #Denis_Kivilev Канал Oracle Developer | Чатик 💬 Мини-курс Оптимизация: Быстрый старт 🚀 📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads RUTUBE
| 2 | Лоукостеры и баги в продакшене 🐛
Друзья, всем привет!
Время субботнего щитпостинга. Пост будет о подгоревшей пятой точке 🤬
Довольно часто замечаю баги на сайтах небольших компаний и лоукостеров. Путешествующим «по-умному» - тем, кто ищет дешевле и не летит Emirates или Qatar - с этим приходится сталкиваться постоянно.
Ну и я в том числе: не ограничиваюсь крупными перевозчиками, люблю покопаться в менее известных сервисах.
Но одно дело - кривой дизайн или медленная загрузка.
Другое дело - баг прямо в happy path флоу.
Что случилось
На этой недели летел на GOL - это бразильский лоукостер. Решил сделать онлайн-регистрацию. Всё шло нормально, пока на последнем шаге не исчезли кнопки. То есть физически - кнопки есть, но они микроскопические и визуально не отображаются.
Залез в DevTools - там вижу две кнопки: Cancel и Save. Пробую нажать вслепую по координатам.
🔹 Cancel - работает.
🔹 Save - не работает.
Регистрация на рейс. Последний шаг. Кнопка «Продолжить» просто не функционирует. Сук@ да как так то б!!!! 🤬🤬🤬
Как можно выкатить это в продакшен?
Честно - не понимаю. Это не какой-то edge case. Это главный сценарий, которым пользуются тысячи людей каждый день. Регрессионный тест на happy path - это буквально первое, что проверяют перед релизом. Или должны проверять. Или хотя бы после релиза...
В тему. Сайт узбекского лоукостера CentrumAir. Выбираешь рейс, переходишь на выбор брони и... всё. Бесконечный индикатор загрузки. Какой-то пц. Ребята, реально? Просто главный функционал не работает на сайте. Как вы бл билеты то продаете?!
Сразу напомню о важности бизнесовых метрик. Хеееракс после всратого релиза упал график с продажей билетов, значит что-то в релизе пошло не так. Это предупредит ситуации, когда о проблемах вы узнаете от недовольных пользователей или по просадке доходов.
Про сайт грузинской налоговой полу переведённый на английский и самопроизвольно переключающийся на грузинский, не работающий 1 из 4х платежных шлюзов говорить ничего не буду, с этим я уже свыкся. Как со снегом в Сибири, бл...
Туда же сайт получения разрешения на работу в Грузии. Чуть что пошло не по флоу, всё финиш. Поддержка не отвечает вообще никогда. Но бабла ты заплатил. И выхода у тебя нет никакого.
По грузинским сервисам у меня подгорает отдельно 🤯🤬
Короче говоря:
После российских сервисов образца до 2022 года привыкать к «внешнему миру» бывает больно.
Встречали такое в своих путешествиях или эмиграции? Пишите в комментарии - интересно, у кого были самые дикие кейсы 👇
С вами был Денис. Всем стабильного прода и рабочих кнопок 🚀
#qa #testing #лоукостеры #путешествия #баги #продакшен #digitalNomad #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 502 |
| 3 | Как обычно - без воды и по делу! 🔥😎
Коллеги, всем привет!
Вчера прогремел наш вебинар по индексам и это было круто 🙌🏻
Спасибо всем, кто пришел и отдельное спасибо за обратную связь, это мотивирует двигаться дальше 😊
Возможно, вчера кто-то пропустил информацию о скидке на мини-курс, его можно приобрести по ссылке ниже 👇
👉 приобрести мини-курс со скидкой 👈
❕не забывайте вводить промокод «oracle», чтобы получить скидку 🏷️
Если вы планируете идти на 3-хмесячный курс по Оптимизации Oracle SQL или возникли вопросы, пишите моей помощнице Владе, со всем разберемся.
Всем хорошего дня и классных выходных и, конечно, приходите на наши вебинары еще и рассказывайте об этом коллегам 😊☀️
#вебинар #миникурс #отзывы
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 567 |
| 4 | رسالة فيديو | 557 |
| 5 | Начинаем через 10 минут!
👉 ПРИСОЕДИНИТЬСЯ К ВЕБИНАРУ 👈 | 624 |
| 6 | رسالة فيديو | 675 |
| 7 | Коллеги, напоминаем, что вебинар по индексам уже через час 🔥
На вебинаре будет много интересного, присоединяйтесь и отправляйте коллегам 😉
Также разберем бонусные темы на выбор, приходите 🔥
Всех ждём! 😉
👉👉 ССЫЛКА НА ЭФИР 👈👈
#вебинар #Оптимизация
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 648 |
| 8 | رسالة فيديو | 677 |
| 9 | Лжесеньёры 🍄
Коллеги, всем привет! 👋
С вами Денис.
Сегодня будет важная, но неприятная тема.
Периодически слышу от ребят, что мол есть такие товарищи в конторе, которые уже 10-15 лет сидят на одном месте, формально считаются сеньором, а по факту их знания давно застыли на уровне средненького мидла. Сидят себе спокойненько, шуршат там что-то. Может даже стек доисторический поддерживают. Вы 100% встречались с такими. Особенно в банках.
Как выглядит лже-сеньор на практике (термин придуманный)
🔹 Работает с Oracle много лет, но не умеет объяснить, почему запрос тормозит, кроме "ну база тяжелая".
🔹 Пишет код так, как писал 10 лет назад: без нормальной декомпозиции, тестируемости и понимания стоимости поддержки.
🔹 На ревью защищает не решение, а свой стаж: "я так всегда делал", "у нас это работает", "ты еще молодой".
🔹 Не проходит собеседования не потому, что "рынок испортился", а потому что давно не проверял себя об рынок.
🔹 Путает опыт с количеством лет. А это разные вещи.
🔹 Думает, что бизнес-мудаки, которые постоянно чего-то хотят.
❌Сеньорство - это не стаж в трудовой книжке. Это способность решать сложные задачи, брать ответственность, слышать аргументы и быстро адаптироваться. И, кстати, уметь и хотеть передавать свои знания и экспертизу. А не сидеть как собака на сене.
А знаете что здесь самое хреновое? Однажны “выйти из спячки” и обнаружить, себя в такой ситуации.
А еще хуже, когда в тебя манагеры палочкой потыкали в процессе очередной оптимизации (нет, не оптимизации Oracle SQL) и ты остался на улице со своими знаниями прикладными никому не нужными, да с ипотекой в “активах”.
Смотришь на рынок, современные требования, собеседования, архитектурные подходы - и понимаешь, что комфортная зона тихо превратилась в болото.
Что делать, пока не поздно
1️⃣ Проведите честный аудит навыков. Выпишите стек, задачи, слабые зоны. Не для резюме, а для себя.
2️⃣ Раз в полгода проходите тест рынка. Собеседование, техскрининг, разбор резюме - что угодно, где есть внешняя обратная связь. Хоть ко мне на Mock-собеседование приходите.
3️⃣ Учитесь, пока не поздно.
Можно начать с этого, но не закончить.
Лже-сеньор - это не оскорбление, а карьерный диагноз. И его лучше поставить себе самому, пока это не сделал рынок.
Не ждите, пока перемены придут в виде сокращения или проваленного собеса, прокачивайте свои знания сейчас. Например, при помощи книг, ютубчика или наших бесплатных вебинаров, которые будут в избытке этим летом.
Всем добра! 🙂
#карьера_в_IT #сеньор #разработчики #базы_данных #oracle #собеседование #профессиональный_рост
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 867 |
| 10 | Покрывающие индексы в PostgreSQL vs Oracle 🔍
Друзья, всем привет! С вами Денис.
Сегодня немного поговорим про покрывающие индексы в PostgreSQL - и заодно сравним с тем, как эту же проблему решают в Oracle.
Постановка задачи
Представьте: есть таблица из N колонок. Поиск идёт по 2 колонкам, но запрос выбирает 4.
Если создать обычный индекс по 2 колонкам - после нахождения строк в индексе будет выполнен Table Access by ROWID: дополнительное рандомное чтение из блоков таблицы. А это уже потенциальное замедление.
Что можно сделать в Oracle?
Вариант один - создать индекс по всем 4 колонкам. Но это влечёт очевидные минусы: больший размер индекса, дороже поддержка при DML.
А что в PostgreSQL?
Здесь есть специальный синтаксис для покрывающих индексов:
CREATE INDEX idx_name ON table_name (col1, col2) INCLUDE (col3, col4);
Идея проста: col1, col2 - колонки для построения индекса, а col3, col4 через INCLUDE просто хранятся в индексе в листе, не участвуя в поиске.
В итоге: убиваем двух зайцев одним выстрелом: индекс остаётся компактным, не надо перестраивать дерево, если col3/col4 изменились, а нужные колонки уже есть в нём - без похода в таблицу.
Кто уже переходит с Oracle на PostgreSQL - наверняка с таким сталкивались 🙂
А еще на собесах спрашивают - тынц.
Пишите в комментариях, используете покрывающие индексы в своей практике?
☝️ Кстати, не забудьте в этот четверг 19:00 МСК - бесплатный вебинар по индексам в Oracle. Приходите, будет интересно.
А я сегодня ночью вылетаю в путь дорогу до Москвы через 100500 аэропортов. Вебинар придется вести не из моей уютной бразильской студии, а в каком-то отеле в Ташкенте. Надеюсь нам это не помешает ✈️ Вкусный плов ждет ❤️
Всем хорошего дня 👍🏻
#oracle #postgresql #индексы #covering_index #оптимизация #backend #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 810 |
| 11 | Кто ты сегодня? ИДТИ или ОТДЫХ 🔥😄
Коллеги, всем привет!
Сегодня пятница, а значит пора расслабиться😉
Немного юмора вам 😄
⚠️ Также напоминаем, что 23.07 пройдет вебинар, где разберём индексы без воды: от структуры до реального поведения в разных СУБД.
Отправляйте коллегам, всех ждём 🙂
Хороших выходных вам, друзья! 😎☀️
#юмор #пятница #вебинар
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 988 |
| 12 | Хороший оффер получают подготовленные кандидаты 🎯
Коллеги, всем привет! 👋
Пост будет полезен мидлам и сеньорам, которые хотят получать офферы с достойными условиями, а не соглашаться на первое, что предложат.
Есть один паттерн, который я наблюдаю снова и снова. Человек годами работает на проекте, реально решает сложные задачи - и при этом проваливает собеседование. Не потому что плохой специалист, а просто потому что не готовился.
👉 Подготовка к интервью - это отдельный навык. И он не появляется автоматически из опыта работы.
По данным Хабр Карьеры, разрыв в зарплате между джуном и сеньором достигает 3,9 раза. Сеньоры уверенно переходят планку 300 000-400 000 рублей. Но чтобы получить такой оффер, нужно пройти интервью - а там спрашивают не только про опыт.
Где чаще всего теряются кандидаты на Senior-позиции
🔸 Знают, что делали на проекте, но не могут объяснить почему именно так.
🔸 Не готовы к вопросам про оптимизацию и производительность - а это один из ключевых блоков на Senior-интервью.
🔸 Готовятся в режиме "аврал за три дня до собеса" вместо системной работы.
🔸 Не практикуют объяснение своих решений вслух - а именно это проверяет интервьюер.
1️⃣ Готовьтесь постоянно, а не только в момент поиска работы. Разбирайте темы по 30-40 минут в неделю.
2️⃣ Фиксируйте свои кейсы с проекта: что было, что сделали, какой результат. Это ваш материал для интервью и самопрезентации.
3️⃣ Отдельно прорабатывайте блок производительности и оптимизации - именно он отделяет мидла от сеньора в глазах интервьюера.
кстати, коллеги, напоминаю, что мок-собеседование можно пройти у меня. Разберем и подсветим темы, которые, возможно стоит подтянуть. Записаться можно у Влады
Итак:
🔸 Хороший оффер - это не лотерея, а результат предварительной тщательной подготовки.
🔸 Знания оптимизации и производительности - обязательный блок для Senior-уровня.
🔸 Готовиться нужно системно и заранее, а не в панике за неделю до собеса.
Много конкретики по этим темам - с разбором реальных вопросов, кейсов и подходов - будет на наших вебинарах. Приходите, там будет полезно 🚀
Удачи на интервью и достойных офферов всем! 💪
#карьера_в_IT #собеседование #senior_разработчик #оптимизация #подготовка_к_интервью #обучение #вебинар
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 978 |
| 13 | Индексная срамота из прошлого
Расскажу историю из жизни. Был 2007 год, я юный, но сумевший пролезть на позицию Middle+ Oracle Developer. Невероятная зп в 35К (до этого была ~17K), верх рынка для Новосибирска. Довольный был собой, сиял как начищенный самовар 😂
Делали интеграцию в ТОП-книге (это был довольно крупный ритейл) между различными оракловыми системами - RMS, JD Edwards, RDW и еще какие-то системы. Пробовали разные варианты от простых скриптов трансформаций с DownStreams до корпоративной шины данных - ESB. Её нам помогали внедрять москвичи из KROK. Приезжали в Новосиб в командировки и т.п.
Работал кипела, писалось до фига PL/SQL-кода, экспы качались и т.п.
В один прекрасный момент, ко мне подошел один полу-бизнесовый чувак из КРОКа и спросил:
слушай, а какой тип индекса здесь будем делать? B-tree или Bitmap?
и я ошалевший от того, что со мной советуется эксперт с самой Москвы (!!!) выдал
давай, наверное, юзать Bitmap
Чел на меня посмотрел, подумал и сказал, слушай, так у него же битовые карты блокируются и на OLTP он не подходит. Я малец помялся, вспомнил, что да что-то такое было в каких-то статьях и... сказал, да B-tree будет лучше.
В тот момент, я хотел просто провалить сквозь землю. Какой-то полубизнесовый тип знает лучше меня мою область... 🤦🏻♂️
Так на всю жизнь мне запомнилась простая истина - для нагруженных таблиц, которые постоянно меняются юзай B-tree + учитывай кардинальность и т.п. А всё из-за физического устройства Bitmap-индекса 🤷🏻♂️
Сколько раз потом уже я слышал этот вопрос на собеседованиях уже и не счесть, но после того случая всегда отвечал правильно.
Вот такая история из жизни разработчика БД 😊
Какая мораль сей басни? Да хрен знает, просто приходи и коллег приводи на
бесплатный вебинар 23 июля по индексам, где, в том числе, разберем структуру индексов.
С вами был Денис. Всем добра! 🚀
#индексы #базы_данных #postgresql #oracle #вебинар #производительность #обучение
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 895 |
| 14 | Вебинар по индексам уже скоро 🔥
Коллеги, всем привет! 👋
Индексы - одна из тех тем, где разрыв между "знаю теорию" и "понимаю, что происходит в базе" ощущается особенно остро. Запрос тормозит на проде, план выполнения выглядит странно, а почему оптимизатор не пошёл по индексу - непонятно. Знакомо?
👉 23 июля проводим плотный вебинар, где разберём индексы без воды: от структуры до реального поведения в разных СУБД.
Что будет в программе
🔹 Виды индексов и их структура - разберём, как устроены изнутри, какие виды бывают, когда использовать.
🔹 Индексные доступы - index unique scan, index range scan, index skip scan и другие.
🔹 Почему индексы бывают вредны (шок контент) 😳 и что о вас думает собеседующий, когда на любой чих вы хотите создать индекс.
🔹 Бонусные темы на ваш выбор:
✅ Устройство LSM-индекса как альтернативы B-Tree - актуально для тех, кто работает с высоконагруженными write-heavy системами
✅ Индексы в PostgreSQL - типы, особенности планировщика, частые грабли
✅ Физически поковыряемся в индексных блоках Oracle - смотрим на структуру руками, не по картинке из учебника
Можете, кстати, в чатике сразу проголосовать, чтобы хотелось послушать.
Формат живой: разбираем механику, а не пересказываем документацию.
Приглашайте коллег, которым тема актуальна 👇 Чем больше живых вопросов в зале - тем интереснее разбор.
Всем добра! 🚀
#индексы #базы_данных #postgresql #oracle #вебинар #производительность #обучение
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 840 |
| 15 | Что спрашивают у Java-разрабов по РСУБД ❓
Друзья, всем привет! С вами Денис.
С апреля начал готовиться к выходу на рынок. Закрываю пробелы: system design, алгоритмы, теория по Java Core, Spring и т.п. всё по классике. Сейчас этап полировки, когда максимально полезно гонять моки, чтобы не выглядеть балбесиком на реальных интервью 😄
Ходить на моки - это не зашквар, а способ подсветить для себя любимого свои пробелы и подтянуть их. Я был сильно удивлен в 2018м, когда переехал в Мск и все в офисе юзали слово "зашквар". Московские айтишники вы все еще используете его? 😄
Не важно, на сколько ты крут, тебя всегда могут зацепить какой-нибудь темой, да еще алго-задачкой добить ❌
В 2023-м уже выходил на рынок как Java-разработчик - знаю примерно, что спрашивают. Но время течет, подходы меняются. Поэтому обязательно нужно готовиться. Тем более, в условиях конкурентного рынка.
Что в видосе?
Поскольку канал у нас про Oracle - показал нарезку вопросов именно по секции баз данных. Плюс задачка, которую нужно было решить прямо на интервью. Пост с ней был вчера.
Два вопроса для вас 👇
1️⃣ Посмотрите видос и честно оцените: смогли бы вы как Oracle-разработчик пройти секцию по БД на Java-интервью? Без запинки и четко рассказать про уровни изоляции, блокировки, MVCC, индексы и т.п. (видос специально без ответов). Мне отвечать не надо, просто прикиньте для себя. Осилил(а) бы?
📌Хозяйке на заметку: на собесах у джавистов по умолчанию подразумевают - PostgreSQL. Круто, если вы при этом еще и про Oracle расскажите.
2️⃣ У меня накопилось много материала про перекат в Java: как это устроено, что реально спрашивают, на что обращать внимание, с чего стоит начать, а на что можно и забить. Взгляд ораклиста вкатившегося в жавку.
Интересно было бы читать это в отдельном канале? Здесь, все таки, канал про Oracle, а не жавку с котлином. Кому-то они на фиг не упали.
Напишите в комментах или поставьте реакцию 🔥 - интересна ли вам эта тема.
В общем, в моках нет ничего зазорного. Нормальная практика, коллеги. Сам прохожу - сам понимаю, где пробелы. Рекомендую.
Вы знаете, что ко мне можно попасть на Mock-собес на позицию Oracle-разраба. Пишите Владе, она забукает время. Стоимость плёвая - 1.5К руб. Занимаюсь, чисто ради набора интересного материала для канала, а не для заработка (почти благотворительность).
Всем хорошей пятницы 🤝
#oracle #java #карьера #собеседование #mock #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 1 044 |
| 16 | SQL-задачка для тренировки 🧠
Друзья, всем привет!
С вами Денис.
Вчера у меня было Mock-собеседование на Java-разработчика. Да, коллеги, я тоже прохожу моки, чтобы понимать где у меня траблы.
Короче, дали вот такую SQL-задачку 🎓
Сядьте поудобней, уберите все отвлекающие моменты и представьте, что вы на собесе.
Засеките время и решите её. Естественно без ИИ.
Завтра залью видос с вопросами по секции БД, которые были на этом собесе. Лишний повод размяться.
Задача
Есть таблица сотрудников и языков программирования с категориями.
Таблица employee:
+-------+--------+----------+
| name | lang | category |
+-------+--------+----------+
| Nick | C# | backend |
| Nick | SQL | database |
| Eva | Rust | backend |
| Vika | Kotlin | backend |
| Vika | SQL | database |
+-------+--------+----------+
Нужно найти сотрудников, которые знают хотя бы один язык из КАЖДОЙ категории, которая есть в системе.
Ожидаемый результат:
+-------+
| name |
+-------+
| Nick |
| Vika |
+-------+
(Eva знает только backend – не подходит)
category - могут быть разнообразные.
один чел может иметь несколько языков из одной категории.
В целом, не сильно сложно, по идеи на рассуждения и написание не больше 5-8 минут должно уйти.
Примерно такие задачки дают джавистам на собесах. Иногда попадается аналитика.
Всем хорошего дня 😊
#oracle #sql #собеседование #задача #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 1 031 |
| 17 | Execution Plan + Predicate Information = решение реальной проблемы 🔍
Друзья, всем привет! С вами Денис.
Небольшой, но полезный видосик - разбираю живой кейс из практики.
На этот раз показываю, как при помощи плана выполнения и блока Predicate Information можно сделать нужные выводы и решить проблему. Немного теории, но главное - ход мысли: как вообще происходит оптимизация, куда смотреть и что из этого следует.
В данном конкретном случае добавление индекса было хорошим решением. Но сразу оговорюсь - это не универсальный совет, так бывает далеко не всегда 😉
Кстати, уже через две недели (23 июля) - вебинар по индексам 🎓
В программе
🔹 Виды индексов и их структура
🔹 Индексные доступы
🔹 Бонусные темы на выбор:
- устройство LSM-индекса как замена B-Tree индексу;
- индексы в PostgreSQL;
- физически поковыряемся в индексных блоках Oracle.
Будет плотно и интересно. Следите за анонсом. Приглашайте коллег.
Да, хотел спросить. Если такой формат (видос + разбор кейса) вам заходит, поставьте реакцию 👍🏻
Для меня это важный сигнал, что наглядные видосы работают лучше длинных текстовых постов. Спасибо 🙏
С вами был Денис. Всем успехов 🤝
#oracle #sql #execution_plan #индексы #оптимизация #вебинар #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 1 007 |
| 18 | Готовиться нужно заранее ⚙️
Коллеги, всем привет! 👋
Хочу спокойно проговорить вещь, которую легко отложить "до понедельника": развиваться нужно не тогда, когда уже прижало, а заранее ☝️
Рынок стал заметно жестче. Работодатели уже не так чтобы "охотятся" за каждым специалистом, а на собеседованиях все чаще проверяют не список технологий в резюме, а способность разбираться в сложных задачах 🤷♂️
По данным hh.ru, в 2026 году число активных вакансий снизилось на 17% год к году, а количество резюме выросло более чем на 20%. Конкуренция на рынке усилилась, а работодатели стали гораздо внимательнее оценивать не только опыт, но и глубину технических знаний 🧠 Об этом можно почитать здесь
⚠️ Это не повод паниковать. Это повод собраться и быть готовым.
❌Типичная ошибка - ждать идеального момента:
🔹 "Вот появится интересная вакансия - тогда подтяну оптимизацию".
🔹 "Перед собесом за неделю повторю индексы, планы запросов и профилирование".
🔹 "Пока на текущем проекте все работает - значит, можно не трогать".
🔹 "Аналитические запросы? Да там и так всё понятно".
🔹 "ACID, блокировки - как-нибудь объясню".
На практике так не работает. Когда на интервью спросили причины деградации запроса, поздно вспоминать базовые принципы оптимизации.
☝️⚠️ Не ждите идеального момента, чтобы начать расти. Занимайтесь этим постоянно. Очень обидно профукать интересную вакансию, потому что все время откладывали своё развитие.
Спасибо, что читаете канал, приходите на вебинары и подходите к развитию как инженеры - заранее, осознанно и с запасом прочности.
Всем хорошего дня! 🙂
#карьера_в_IT #оптимизация #производительность #собеседование #обучение #разработчикам #базы_данных
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 920 |
| 19 | Субботняя зарисовка преподавателя ☕️
Коллеги, всем привет! 👋
В рамках субботнего щитпостинга поделись небольшим наблюдением из жизни преподавателя.
За последние 6 лет через мои курсы прошло уже больше 300 человек. Обычно я даю выбор, как сдавать домашние задания: архивом, ссылка на Google Docs или через GitHub в виде Pull Request.
И знаете, что интересно?
PR выбирают... буквально единицы.
Думаю, причина понятна. В мире Oracle-разработки исторически не сложилась такая культура работы с Git, как, например, у Java-, .NET- или Python-разработчиков. SVN/Git есть, GitHub и GitLab есть, а вот привычки обсуждать код через Pull Request пока встречаются не так часто.
Хотя именно такой формат, на мой взгляд, максимально удобен.
Можно оставить комментарий прямо к конкретной строке, обсудить решение, посмотреть историю изменений. Это уже не просто «проверка домашки», а нормальный процесс code review.
Например, на последнем потоке из более чем десяти человек только один отправлял домашнее задание через Pull Request. И, честно говоря, проверять его работу было гораздо комфортнее.
При этом специально требовать Git от студентов я не хочу. На курсах и без того хватает нового материала, и заставлять человека параллельно осваивать еще один инструмент - не самая хорошая идея.
Но когда разработчик уверенно пользуется Git и спокойно работает через Pull Request - это всегда большой плюс.
Хорошей всем субботы! ☀️
#oracle #git #github #codeReview #разработка #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 1 040 |
| 20 | Послевкусие после вебинара
Коллеги, это было супер! 4 часа погружения в тонкости по анализу планов запросов в Oracle.
Начали мы в составе 85 человек, а закончили примерно с 60(!).
Очень крутой результат. Спасибо вам за вашу поддержку, дорогие коллеги.
А самые терпеливые дождались бонусную тему: сравнение планов запросов Oracle и PostgreSQL.
Большинство проголосовало именно за эту тему 🤷🏻♂️
Разобрали: как получать планы запросов, как читать показатели в постгресовых планах, на что обращать внимание, как работает оптимизация в Pg и т.п.
Кстати, если тема с постгрей находит отклик, может и по ней вебинары делать. Накиньте в чатик.
Я обещал отправить ссылки
1️⃣ Тест для закрепления, всего 10 вопросов. Проверьте себя.
2️⃣ Экспресс-курс "Оптимизация Oracle SQL: Быстрый старт 🚀 "
3️⃣ Сервис по визуализации планов запросов в PostgreSQL
4️⃣ Забронировать участие в 3х месячном курсе "Оптимизация Oracle SQL"
Запись этого вебинара можно будет получить попав на следующий вебинар ✅
Расписание вебинаров
23.07 - Индексы и индексные доступы в Oracle
возможные бонусные темы на выбор:
🔸разбор индексов в PostgreSQL;
🔸устройство современного LSM-триггера как замена B-tree индекса;
🔸физически распотрошим блоки индекса в Oracle, посмотрим чего там прячут )
13.08 - Методы соединения таблиц
03.09 - Секреты работы с BigData/DWH
Ставьте напоминалки, бронируйте время, приглашайте коллег 👍🏻
С вами был Денис. Не переключайтесь 😉
#oracle #sql #optimization #execution_plan #вебинар #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE | 1 225 |
