Oracle Developer👨🏻‍💻
3.17K subscribers
583 photos
63 videos
2 files
469 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
Прохождение технической части на собеседовании за 10 минут реальность? Да!

Кто внимательно следит за каналом, знают, что перед запуском 13го потока по Oracle PL/SQL я сходил на дюжину собеседований на позицию Middle Oracle Developer, что бы посмотреть актуальное состояние рынка, какие вопросы задают и т.п. Подробно было в этом посте.

Так вот. Обещал вам три забавных speedrun'а технической части собесов на позицию Middle Oracle Developer.
1️⃣ в РНКБ (6 минут)
2️⃣ в РСХБ-Интех (10 минут)
3️⃣ в R-Style (15 минут)
Видосы выше ⬆️

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

Что хочется этим показать?

Не надо иметь 19лет стажа и вести блог об Oracle, чтобы успешно проходить собеседования.
Не смотря, на какие-то мелкие огрехи в ответах я спокойно прошел собесы и получил офферы.
Если у моего Альтер эго, c минимальным опытом, это получилось, то почему у вас не должно?
Конечно, получится 👍🏻

А
чтобы быть на 100% уверенным приходите завтра, 10 сентября в 19:00 по мск, на онлайн-встречу по собеседованиям на позицию Oracle Developer.

Что вы узнаете на прямом эфире
ожидания от кандидатов на позицию Oracle Developer;
какие вопросы задают на интервью и зачем;
как подготовиться к собесу, чтобы получить оффер с хорошей ЗП 250К.
расскажу про программу "Мастер Oracle PL/SQL" и как мы прокачиваем soft-скилы для успешного прохождения собеседований.
разыграем подарки 🎁

Ссылочка будет в группе марафона.
Всех жду, будет интересно 😉

#собеседование
Канал Oracle Developer | Чатик💬
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня в 19:00 МСК эфир "Успешное прохождение собеседований на позицию Oracle Developer"

Друзья, всем привет!

Напоминаю, что сегодня в 19:00 МСК у нас будет эфир на тему онлайн-встречи по собеседованиям на позицию Oracle Developer.

Что вы узнаете на прямом эфире
ожидания от кандидатов на позицию Oracle Developer;
какие вопросы задают на интервью и зачем;
как подготовиться к собесу, чтобы получить оффер с хорошей ЗП 250К;
советы нанимающей стороне;
расскажу про программу "Мастер Oracle PL/SQL" и как мы прокачиваем soft-скилы для успешного прохождения собеседований.
разыграем подарки 🎁

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


На видео кусочек после тех собеса. Моё Альтер эго под подозрением 😂

#собеседование
Канал Oracle Developer | Чатик💬
Мега-эксклюзив 🔥
Вебинар "Собеседование на позицию Oracle Developer"
🎦

Друзья, привет!

Как и обещал даю доступ на 24 часа к записи вебинара "Собеседование на позицию Oracle Developer"

Почему мега-эксклюзив? Найдите хоть один доклад для Оракл-разработчиков про карьерный путь. Нет такого.
Гуру, эксперды, синьеры, архитекторы, тузы не спешат доносить русско-говорящему оракловому сообществу интересную информацию.
Цените то, что есть. Распространяйте среди коллег 😉

На встрече мы поговорили
ожидания от кандидатов на позицию Oracle Developer;
какие вопросы задают на интервью и зачем;
как подготовиться к собесу, чтобы получить оффер с хорошей ЗП;
советы тем, кто проводит собеседования;
лже-специалисты;
про программу "Мастер Oracle PL/SQL" и как мы прокачиваем soft-скилы для успешного прохождения собеседований.

Запись эфира
1️⃣ YouTube
2️⃣ RuTube

Напоминаю, что 16го числа стартанет уже 1️⃣3️⃣й поток курса "Мастер Oracle PL/SQL".

Не упустите возможность попасть на обновленный поток и бустануть свою карьеру 🚀
Пока кто-то сомневается идти или нет, вы будете на несколько шагов впереди этих "ждунов" и сможете быстрей осуществить ваши мечты 💵

По вопросам программы и оплаты пожалуйста пишите мне 👈

Всем хорошего дня!

#plsql #видео
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Видео-подкаст "Как увеличить свою зарплату с порога на 50 000 рублей на позицию Oracle Developer" 🚀

Друзья, всем привет!

Неожиданно для себя решил попробовать записать видео-подкаст без какой-либо подготовки, сценариев и т.п. чистый экспромт.
Случился он после того, как Паша (он куратор на моих курсах) дал позитивный фидбек на тот материал по софтам, о котором я говорил на вебинарах и делал серию постов о поиске работы.
Мы просто созвонились в Zoom, и он рассказал свежую историю найма на позицию Oracle Developer со счастливым концом 💵

Что в ней будет?
▫️как не надо нанимать (только проверка СБ заняла неделю😱);
▫️обратный кейс, найм за 2 дня;
▫️как он был не уверен в своей востребованности на рынке;
▫️как увеличил озвучиваемый ценник HRам;
▫️что ему в этом помогло.

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

Подкаст доступен
1️⃣ Youtube
2️⃣ Rutube
3️⃣ Видео в закрепе к сообщению

Тайминги
00:00 - Введение
01:34 - Необходимость в soft-skills
05:43 - История Паши
10:03 - Выводы из истории


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

Обсудить в чатике💬

#развитиеКарьеры #softskills #видео #подкаст
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Типы баз данных

Мир БД разнообразен. Не все ограничено Oracle. Есть и узкоспециализированные решения. На днях попалась такая диаграммка, решил поделиться.

1. Blockchain Database - Обеспечивает целостность и безопасность данных. Поддерживает децентрализованные приложения и идеально подходит для транзакционных данных. Примеры: BigchainDB, Chainbase.

2. SQL Database (Relational) - Использует структурированное хранение и доступ к данным. Поддерживает транзакции и реляционную модель данных. Примеры: MySQL, Microsoft SQL Server, Oracle.

3. Columnar Database - Оптимизирована для чтения и записи данных в столбцы. Эффективна для аналитических и OLAP-систем. Примеры: Amazon Redshift, Apache Cassandra, Oracle In-Memory Column Store.

4. NewSQL Database - Сочетает надежность SQL с масштабируемостью NoSQL. Поддерживает ACID-транзакции в больших масштабах и обеспечивает аналитику в реальном времени. Примеры: Google Spanner, CockroachDB.

5. In-Memory Database - Хранит данные в оперативной памяти для быстрого доступа, подходит для приложений с высокими требованиями к скорости и обеспечивает различные варианты постоянства хранения. Примеры: SAP HANA, MemSQL, Oracle Database In-Memory.

6. Spatial Database - Хранит и обрабатывает пространственные данные, такие как географические объекты. Поддерживает индексирование и запросы по местоположению. Примеры: PostGIS, Oracle Spatial and Graph.

7. Vector Database - Оптимизирована для хранения векторных данных, поддерживает модели искусственного интеллекта и машинного обучения, используется для поиска по признакам. Примеры: Milvus, Pinecone.

8. Time-Series Database
- Предназначена для хранения и анализа временных рядов. Идеальна для мониторинга и приложений IoT. Примеры: InfluxDB, TimescaleDB.

9. Key-Value Database - Хранит данные в виде пар "ключ-значение". Подходит для кэширования и хранения сессий. Примеры: Redis, Amazon DynamoDB.

10. Document Database
- Хранит данные в виде документов с гибкой структурой, поддерживает форматы JSON и XML. Примеры: MongoDB, Couchbase, Oracle Database (с поддержкой JSON и XML).

11. Graph Database - Хранит данные в виде узлов и рёбер, оптимизирована для анализа сетевых и социальных связей. Примеры: Neo4j, Microsoft Azure Cosmos DB, Oracle Spatial and Graph.

12. Object-Oriented Database - Хранит данные в виде объектов, поддерживает сложные структуры данных и соответствует объектно-ориентированному программированию. Примеры: db4o, ObjectDB.

Обсудить в чате 💬

Забавно, что на мобиле GIFка отображается с сильно порезанным качеством, а вот на ПК - все отлично. Добавил в комменты.

Всем продуктивной рабочей недели 🚀

Канал Oracle Developer | Чатик💬
Leetcode. Two Sum (Легкий уровень)

Друзья, всем привет!

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

На этот раз задачка будет с LeetCode. Я уже делал пару постов на тему LeetCode. На собесах на разработчика БД это скорее диковинка. Для всех остальных специальностей, алгоритмическая секция - это обязательная часть. Поэтому я периодически разминаю мозг, нужно быть в тонусе 🧠

Задача
Дано массив целых чисел nums и целое число target. Найдите индексы двух чисел, которые в сумме дают target.

Пример
Input: nums = [2, 7, 11, 15], target = 9
Output: [1, 2] // Потому что nums[1] + nums[2] = 2 + 7 = 9

Реализуем на PL/SQL.


Я нашел как минимум два способа решения этой задачки. Один - с хреновой трудоемкостью, второй - лучше.
Будет интересно, сколькими способами решите вы. Пишите в чатик.

Рекомендую справиться без ChatGPT :
▫️на собесе не будет возможности;
▫️развиваете 🧠

Ответы опубликую вечером 🎓

Обсудить в чате 💬

#задача #leetcode
Канал Oracle Developer | Чатик💬
Leetcode. Two Sum (Легкий уровень). Решение

Два моих варианта.

1️⃣ В лоб. Цикл в цикле

declare
type t_nums is table of number(38);

v_nums t_nums := t_nums(-2, -7, 11, 15);
v_target number(38) := -9;
begin
for i in 1 .. v_nums.count() - 1 loop
for j in i + 1 .. v_nums.count() loop

if v_nums(i) + v_nums(j) = v_target then
dbms_output.put_line('Answer: ' || i || ' - ' || j);
exit;
end if;

end loop;
end loop;

end;
/

🔸Суть решения: проходим по массиву дважды, перебирая все возможные комбинации.
🔸Трудоемкость: O(N*N). Далеко не самая лучшая.
🔸Собеседующие ждут от вас более элегантного решения. С такой трудоемкостью могут не зачесть. В любом случае, лучше хотя бы так, чем совсем никак.


2️⃣ Ассоциативный массив

declare
type t_assoc is table of number(38) index by pls_integer;
type t_nums is table of number(38);

v_nums t_nums := t_nums(2, 7, 11, 15);
v_index_num t_assoc;
v_target number(38) := 9;
v_rest number(38);
begin

for i in 1 .. v_nums.count() loop
v_rest := v_target - v_nums(i);

if v_index_num.exists(v_rest) then
dbms_output.put_line('Answer: ' || v_index_num(v_rest) || ' - ' || i);
exit;
end if;

v_index_num(v_nums(i)) := i;

end loop;

end;
/

🔸Суть решения: заполняем ассоциативный массив элементами, где ключ - это число, значение - позиция в исходном массиве. Рассчитывая каждый раз остаток (v_rest) мы проверяем, есть ли подходящее значение в ассоциативном массиве.
🔸Трудоемкость: O(N).
🔸 Чего-то такого от нас хотят увидеть на собесе.

Надеюсь вам понравилось. Всем хорошей пятницы и выходных!
Если сегодня собираешься хлопнуть пивка ставь 🍺, если трезвенник/язвенник ставь 🍼

На следующей недели будет очень интересный материал. Не переключайтесь 😄

Обсудить в чате 💬

#задача #leetcode
Канал Oracle Developer | Чатик💬
Media is too big
VIEW IN TELEGRAM
IDE Cursor и PL/SQL

Друзья, всем привет!

Речь сегодня пойдет про ИИ.
Я надеюсь, что все худо бедно, но потыкали в ChatGPT.
Я лично юзаю платную версию GPT-4-o. Очень круто работает.

Пример из жизни
Я давно хотел запилить front-end для демонстрации связки фронта, миддл и БД для курса "Мастер Oracle PL/SQL".
GPT-3/4 создавала какую-то шляпу. А 4-o сгенерировала мне фронт на Node.js с удобоваримым UI. Я вообще строчки кода не написал 🔥
Ушло на это часа 1.5. Тогда как знакомый фронтендер ломался неделю и так ни хрена не сделал 😊

Порадовал ребят в 13м потоке полноценным демо приложения Kivi-кошелька 🎓

К чему я веду?
Я постоянно ищу способы как можно оптимизировать, улучшить рабочий и не рабочий процессы, как можно свалить рутину на ИИ.
В очередных поисках наткнулся на новую IDE- Cursor 💡
Оболочка, которая за кадром юзает модели типа chatGPT, понимает кодовую базу и т.п.

Качнул, и решил поюзать в бесплатном режиме.
Потратил минут 10 на то, чтобы понять что/куда.
Решил провести эксперимент, справится или нет с PL/SQL-кодом с какой-то не совсем тривиальной задачкой.

Задание такое
Написать процедуру по переименованию секций для таблицы с интервальным секционированием по дню.
Шаблон переименования: PART_YYYY_MM_DD
Казалось бы, что тут такого?
Есть хитрый тип LONG, с которым нужно особенно работать. А в нем как раз хранится инфа по верхней границы секции.

Короче, что из этого получилось смотрите в видосе (5 минут) ⬆️

На ютуб и т.п. не заливал, чисто экспромт. На самом деле, дольше пост писал в телегу, чем делал 😂

Если тема интересна ставьте палец вверх, буду иногда делиться наработками 👍🏻

Обсудить в чате 💬

#секционирование #ai
Канал Oracle Developer | Чатик💬
Друзья, всем привет!

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

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

Это была российская страховая компания. Если захотите, назову её в последнем посте 😊

Этапы собесов
1️⃣ 20 минутное интервью с HR + скрининговые вопросы;
2️⃣ 1.5 часовое тех собеседование;
3️⃣ оффер через неделю.

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

Начну, пожалуй, со скрининг вопросов от HR, которые немного выбивались своим разнообразием.

13 вопросов
1. Структура SQL-запроса: обязательные и необязательные элементы, какие знаете?
2. Какие существуют constraints?
3. Чем отличаются primary key от foreign key?
4. Какие существуют три типа связей или отношений между таблицами реляционной базы данных?
5. Что такое цикл и какие виды циклов вы знаете?
6. Какие виды коллекций есть?
7. Из чего состоит пакет?
8. Чем отличается функция от процедуры?
9. Назовите команду, которой можно переключиться между ветками.
10. Чем отличаются локальные репозитории от удалённых?
11. Что делает команда Push?
12. Какие форматы обмена данными вы знаете?
13. Знаете ли вы отличия метода Post и Get?

Завтра опубликую ауди/видос с ответами 🎓
А пока, можно обсудить ответы в чате 💬

Всем хорошей пятницы 🍺/🍼

#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
This media is not supported in your browser
VIEW IN TELEGRAM
Аудио/видео с ответами

Чем хочется заняться днем/вечером в субботу?
Конечно, послушать ответы на скрининговые вопросы от Дениса 😂

У нас там нешуточные баталии разгорелись в чатике из-за того, что считать "запросом".
Представляю как бомбанет после моих ответов 😄

1️⃣ Коллеги, если бы я думал об идеальных постах, формулировках, собеседованиях и т.п., то нашего сообщества просто не существовало. Я бы до сих пор, сидел в параличе, думал как канал назвать.
Поэтому, иногда, стоит отключить своего внутреннего перфекциониста и забить на некоторые моменты 😉

2️⃣ Позволить себе ошибаться, не гнобить себя - это нормально. Где-то можно оговориться, что-то забыть и т.п. мы все люди. Как только расслабитесь - мир станет проще и перестанет быть черно-белым 🫶🏻

Всем девушкам цветочек🌷
А впечатлительным вискаречек 🥃
Хорошей субботы 👯‍♀️

#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание таблиц для "ВетКлиники"

Друзья, всем привет!

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

В видео задача на архитектуру.

Представьте, что вы на интервью и у вас есть... минут 15 на ответ и голый эксель, который попросили открыть.
Никто на собесе особо ждать не будет - пока вы там в чатике попереживаете, о том, что задание некорректное, какие все интервьюверы упыри и т.д. 😂
Дали - делаешь. Что пришло в голову согласно знаниями и опыту.

На днях опубликую мою версию решения. Оно не хорошее и не плохое. Просто вариант 😊

Можно было бы придумать, какой-нибудь конкурс, но я сейчас сильно занят подготовкой к новому курсу по Оптимизации 🎓 Времени нет совсем 😔

🎁 В общем, если будет готовое решение, не общие слова ("возьми ту фигню и воткни в эту фигню"), то как-нибудь отблагодарю в пятницу на пивко или молочко 🍼🍺

Как бы вы решили эту задачу? Обсудить в чате 💬

#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Media is too big
VIEW IN TELEGRAM
Создание таблицы для "ВетКлиники". Мое решение

Коллеги, всем привет!

Я думаю, пора заканчивать интригу с заданием с собеса.

В видео моё решение. По сути:
1️⃣ Для гибкого хранения свойств объекта применяем EAV. Я про это уже писал пост. У этого решения есть свои плюсы и минусы.
Конкретно для нашего случая:
🔸 Есть справочник свойств питомца - длина, ширина, есть/нет когти и т.п.
🔸 Табличка отношения конкретного животного, его свойств и значения.

2️⃣ Для контроля за тем, какие свойства есть у животного используем таблицу с правилами, в которой описываются свойств животного относительно вида животного.
Эти правила проверяются при вставке/изменения свойств животного. Проверка происходит в API по работе с сущностями (я топлю за этот вариант) или в триггерах.

Этот пример, на самом деле, 1 в 1, похож на наш процессинг, который студенты пишут в курсе "Мастер Oracle PL/SQL". Там тоже сплошь и рядом применяется EAV (клиент и его свойства, платеж - детали платежа и т.п.).



В целом, ребята в чатике накидали плюс/минус тоже самое.
Никакого особенного конкурса не было, но считаю, что коллеги заслуживают, как минимум, вашего 👍🏻 на посте 😉
🎁 Автор сообщения с максимальным количеством реакций получит 1K руб в пятницу на 🍼 или 🍺

Решение 1, решение 2, решение 3, решение 4, решение 5



Подводя итог этой части тех собеса.
Дальше девушка начала меня спрашивать по разным тонкостям от констрейнтов до поиска/индексов и т.п.
Т.е. буквально на объектах ветклиники, которые мы создали, разбирается пласт теории.
Было прям неожиданно и интересно 🔥

Я лично считаю, и говорил об этом на эфире, что на собесе практические задания могут очень быстро показать есть ли опыт у человека, может ли справиться с банальными вещами.
Конечно, без перебора. Не надо давать спроектировать ядерный реактор в РСУБД 😄😄

А вы как считаете? Обсудить в чате 💬

В видео я выложил только архитектурную часть, но есть еще +1 час (!) вопросов по этой структуре.
Если пост наберет 100 🔥 - залью на видеохостинг полностью всё 😉

#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
This media is not supported in your browser
VIEW IN TELEGRAM
Пытались попасть в корейский офис Оракла, но были, ожидаемо, посланы 😁

спасибо за наводку @tatohanax
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Друзья, всем привет!

Я на месте и готов радовать вас годнотой 😄
Обещанное видео с технического собеса в страховую компанию "Ренессанс Жизнь".
🔸Youtube
🔸Rutube

На мой взгляд, один из лучших интервьюверов, с кем мне удалось пообщаться. К сожалению, по деньгам СК не сильно расщедрилась. На позицию Senior всего 320К чистыми. На текущем рынке, есть предложения по 370-400К. В общем, у всех свои финансовые возможности 💵

Темы с собеса
🔸Архитектурная задача: ветеринарная клиника,
🔸Вопросы про Primary Key и Unique (UK)
🔸Вопросы про Foreign Key
🔸Вопросы про индексы
🔸Вопросы про триггеры
🔸Ошибка мутирующей таблицы
🔸Виды коллекций, ограничения
🔸Pipelined-функции
🔸Планы запросов и оптимизация
🔸Операции Range Scan и Skip Scan
🔸Cardinality, cost и статистика
🔸Блокировки
🔸Что такое Deadlock🔸

Приятного просмотра 🎥

Обсудить в чате 💬

#карьера #собеседование #видео
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 Навигация по темам канала Oracle Developer

📘 Основы
#sql #plsql #теория #архитектура
#функции #секционирование #временныетаблицы
#транзакции #исключения #курсоры
#аналитическиефункции #иерархическиезапросы
#системныепредставления #компиляция #представления #коллекции #циклы

🛠 Практика и задачи
#задача #решениезадачи #asktom

🚀 Оптимизация и производительность
#оптимизация #nestedloops #индекс

🧩 Инструменты и технологии
#тестирование #postgresql #oracle #docker #oracle23c #ide #ai

💼 Карьера и Развитие
#карьера #собеседование #hr #тинькофф #magnit #вкусноиточка #leroymerlin#сбер #яндекс #Эффективность #КарьерныйРост #Denis_Kivillev #Работа

🎓 Дополнительные материалы
#видео #подкаст #аудиоподкаст #конкурс #марафон #юмор


В почти 700 (!) постах не мудрено заплутать. Поэтому решил сделать подобие навигации 😉
Не забывайте пользоваться обычным поиском, я не добавил сюда низкочастотные хештеги
.

Канал Oracle Developer | Чатик💬