📱 Легко ли устроиться начинающему Android-разработчику?
Интересные проекты и хорошие заработки привлекают многих, но препятствия поджидают начинающего Android-разработчика уже на старте. Поговорим о том, как их обойти и получить работу мечты.
https://proglib.io/sh/tbJBOc3o6i
Интересные проекты и хорошие заработки привлекают многих, но препятствия поджидают начинающего Android-разработчика уже на старте. Поговорим о том, как их обойти и получить работу мечты.
https://proglib.io/sh/tbJBOc3o6i
SQL Pocket Guide: A Guide to SQL Usage (2021)
Автор: Alice Zhao
Количество страниц: 356
Если вы используете SQL в повседневной работе в качестве аналитика данных, специалиста по данным или инженера, это популярное карманное руководство станет вашим идеальным справочником при работе. Вы найдете множество примеров, в которых рассматриваются сложности языка, а также ключевые аспекты SQL, используемые в Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL и SQLite.
Скачать книгу
Автор: Alice Zhao
Количество страниц: 356
Если вы используете SQL в повседневной работе в качестве аналитика данных, специалиста по данным или инженера, это популярное карманное руководство станет вашим идеальным справочником при работе. Вы найдете множество примеров, в которых рассматриваются сложности языка, а также ключевые аспекты SQL, используемые в Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL и SQLite.
Скачать книгу
Telegram
Книги для программистов (reserved)
SQL Pocket Guide: A Guide to SQL Usage (2021)
Автор: Alice Zhao
Автор: Alice Zhao
#вопросы_с_собеседований
Зачем может быть нужен private мьютекс?
Зачем может быть нужен private мьютекс?
Старт второго потока курса «CI/CD на примере Gitlab CI» от Слёрм.
За 5 недель освоим путь от простого пайплана до настройки сложных вариантов CI/CD. Поможем понять, как работать с CI/CD. Научим автоматизировать процесс интеграции и поставки, ускорять цикл разработки с минимальными рисками.
Ответим на вопросы:
❓Что такое CI/CD
❓Какие проблемы решает CI/CD
❓Какие преимущества и недостатки есть у Gitlab Cl
❓Как интегрируется Gitlab CI и Kubernetes
❓Что такое Gitops и где его применять
❓Как лучше всего строить пайплайны
Раз в неделю кураторы разбирают кейсы и практические задания студентов, кроме этого будет две встречи со спикером. В конце курса будет IT-поединок⚔️.
Прочитать подробнее про курс и начать учиться уже с 9 сентября: https://slurm.club/38ysZF0
За 5 недель освоим путь от простого пайплана до настройки сложных вариантов CI/CD. Поможем понять, как работать с CI/CD. Научим автоматизировать процесс интеграции и поставки, ускорять цикл разработки с минимальными рисками.
Ответим на вопросы:
❓Что такое CI/CD
❓Какие проблемы решает CI/CD
❓Какие преимущества и недостатки есть у Gitlab Cl
❓Как интегрируется Gitlab CI и Kubernetes
❓Что такое Gitops и где его применять
❓Как лучше всего строить пайплайны
Раз в неделю кураторы разбирают кейсы и практические задания студентов, кроме этого будет две встречи со спикером. В конце курса будет IT-поединок⚔️.
Прочитать подробнее про курс и начать учиться уже с 9 сентября: https://slurm.club/38ysZF0
Объект для синхронизации делается
private
, чтобы сторонний код не мог на него синхронизироваться и случайно получить взаимную блокировку.#вопросы_с_собеседований
В чем разница между notify() и notifyAll()?
В чем разница между notify() и notifyAll()?
Дело в том, что «висеть» на методе
wait()
одного монитора могут сразу несколько потоков. При вызове notify()
только один из них выходит из wait()
и пытается захватить монитор, а затем продолжает работу со следующего после wait()
оператора. Какой из них выйдет - заранее неизвестно. А при вызове notifyAll()
, все висящие на wait()
потоки выходят из wait()
, и все они пытаются захватить монитор. Понятно, что в любой момент времени монитор может быть захвачен только одним потоком, а остальные ждут своей очереди. Порядок очереди определяется планировщиком потоков Java
.#вопросы_с_собеседований
Каков общий синтаксис оператора SELECT?
Каков общий синтаксис оператора SELECT?
#вопросы_с_собеседований
Какие существуют модификаторы доступа?
Какие существуют модификаторы доступа?
Какие существуют модификаторы доступа?
private (приватный): члены класса доступны только внутри класса. Для обозначения используется служебное слово private.
default, package-private, package level (доступ на уровне пакета): видимость класса/членов класса только внутри пакета. Является модификатором доступа по умолчанию - специальное обозначение не требуется.
protected (защищённый): члены класса доступны внутри пакета и в наследниках. Для обозначения используется служебное слово protected.
public (публичный): класс/члены класса доступны всем. Для обозначения используется служебное слово public.
Последовательность модификаторов по возрастанию уровня закрытости: public, protected, default, private.
Во время наследования возможно изменения модификаторов доступа в сторону большей видимости (для поддержания соответствия принципу подстановки Барбары Лисков).
private (приватный): члены класса доступны только внутри класса. Для обозначения используется служебное слово private.
default, package-private, package level (доступ на уровне пакета): видимость класса/членов класса только внутри пакета. Является модификатором доступа по умолчанию - специальное обозначение не требуется.
protected (защищённый): члены класса доступны внутри пакета и в наследниках. Для обозначения используется служебное слово protected.
public (публичный): класс/члены класса доступны всем. Для обозначения используется служебное слово public.
Последовательность модификаторов по возрастанию уровня закрытости: public, protected, default, private.
Во время наследования возможно изменения модификаторов доступа в сторону большей видимости (для поддержания соответствия принципу подстановки Барбары Лисков).
Хочешь освоить востребованную профессию Java-разработчика и работать в топовых IT-компаниях Москвы? Расходы во время обучение берет на себя Java Mentor, а оплата только после твоего трудоустройства программистом ☕️⚡️
🙋♂️👉 Подать заявку: https://clck.ru/XJFVJ
• Ты освоишь востребованные технологии, а опытные наставники будут контролировать усвоение материала.
• Ты получишь опыт в бизнес-проекте необходимый для трудоустройства.
• A HR-специалисты помогут составить резюме и подготовят тебя к прохождению трудных собеседований.
• Поддержка от мощного сообщество единомышленников.
Каждый выпускник получает от трех предложений о работе. Поэтому работодателя выберешь самостоятельно после успешных собеседований.
🙋♂️👉 Подать заявку: https://clck.ru/XJFVJ
• Ты освоишь востребованные технологии, а опытные наставники будут контролировать усвоение материала.
• Ты получишь опыт в бизнес-проекте необходимый для трудоустройства.
• A HR-специалисты помогут составить резюме и подготовят тебя к прохождению трудных собеседований.
• Поддержка от мощного сообщество единомышленников.
Каждый выпускник получает от трех предложений о работе. Поэтому работодателя выберешь самостоятельно после успешных собеседований.
#вопросы_с_собеседований
Что такое Request Dispatcher?
Что такое Request Dispatcher?
Forwarded from Java jobs — вакансии для java-разработчиков
👔 Java Developer
⛳️ SimpleTextin
💼🥁 Удаленка
💵 3000 — 4000$
SimpleTexting расширяет команду разработки, мы ищем Java программиста cо знанием noSQL. Предстоит активная разработка новой функциональности и технические задачи по развитию архитектуры платформы, код ревью, участие в поддержке продакшн серверов (L3).
Мы предлагаем работу в международной продуктовой компании над успешным и постоянно развивающимся проектом, которому более 10 лет. Техническая часть команды состоит из 45 инженеров, работающих удаленно. У нас Kanban, ежедневный выпуск релизов, высокие требования к качеству кода и непрерывное улучшение процесса разработки. Мы развиваем собственный продукт, поэтому решения принимаются оперативно внутри команды. Мы ценим баланс рабочего и личного времени — в компании действует гибкая политика отпусков.
SimpleTexting — одна из ведущих веб-платформ для SMS-маркетинга. Тысячи организаций в Северной Америке используют SimpleTexting для связи со своей аудиторией. Нашими клиентами являются компании из списка Fortune 500, малые предприятия, университеты, медицинские центры и другие организации.
Мы ожидаем от кандидата:
Высшее техническое образование и 4+ лет опыт коммерческой разработки на Java
Java 8+ (у нас используется Java 15), Spring Boot
Git, Maven, Unix
Большим плюсом будет опыт работы с MongoDB
Условия:
Удаленная работа на полный рабочий день
Команда разработки работает по московскому времени, но необходима доступность в вечернее время. Звонки с коллегами из США обычно проходят в 16-18 Мск.
Техническая поддержка продакшн серверов (L3) выпадает на рабочий день раз в две недели и требует доступность с 17 по 23 Мск.
Гибкая политика оплачиваемых отпусков: нет ограничений по количеству отпускных дней в году, но требуется заблаговременное согласование в команде
Ежегодный пересмотр заработной платы в декабре
Бесплатное обучение английскому языку за счет компании
Пишите и присылайте свои резюме @SvetlanaKonovalovaST
⛳️ SimpleTextin
💼🥁 Удаленка
💵 3000 — 4000$
SimpleTexting расширяет команду разработки, мы ищем Java программиста cо знанием noSQL. Предстоит активная разработка новой функциональности и технические задачи по развитию архитектуры платформы, код ревью, участие в поддержке продакшн серверов (L3).
Мы предлагаем работу в международной продуктовой компании над успешным и постоянно развивающимся проектом, которому более 10 лет. Техническая часть команды состоит из 45 инженеров, работающих удаленно. У нас Kanban, ежедневный выпуск релизов, высокие требования к качеству кода и непрерывное улучшение процесса разработки. Мы развиваем собственный продукт, поэтому решения принимаются оперативно внутри команды. Мы ценим баланс рабочего и личного времени — в компании действует гибкая политика отпусков.
SimpleTexting — одна из ведущих веб-платформ для SMS-маркетинга. Тысячи организаций в Северной Америке используют SimpleTexting для связи со своей аудиторией. Нашими клиентами являются компании из списка Fortune 500, малые предприятия, университеты, медицинские центры и другие организации.
Мы ожидаем от кандидата:
Высшее техническое образование и 4+ лет опыт коммерческой разработки на Java
Java 8+ (у нас используется Java 15), Spring Boot
Git, Maven, Unix
Большим плюсом будет опыт работы с MongoDB
Условия:
Удаленная работа на полный рабочий день
Команда разработки работает по московскому времени, но необходима доступность в вечернее время. Звонки с коллегами из США обычно проходят в 16-18 Мск.
Техническая поддержка продакшн серверов (L3) выпадает на рабочий день раз в две недели и требует доступность с 17 по 23 Мск.
Гибкая политика оплачиваемых отпусков: нет ограничений по количеству отпускных дней в году, но требуется заблаговременное согласование в команде
Ежегодный пересмотр заработной платы в декабре
Бесплатное обучение английскому языку за счет компании
Пишите и присылайте свои резюме @SvetlanaKonovalovaST
Вокруг поиска первой работы в IT много вопросов и проблем: большой конкурс на позицию junior, провалы на собеседованиях, глобальная незаинтересованность рынка в джунах, особенно если им больше 30. Мы, издание «Библиотека программиста», решили провести опрос среди всех, кто когда-либо искал первую работу в IT-сфере, чтобы понять кто, каким образом и с какой эффективностью (не) справляется с этой задачей. Опрос займет около 3 минут, результаты опубликуем на сайте proglib.io ориентировочно 19 сентября.
https://forms.gle/kuFeTtoHhKQW2Ekc8
https://forms.gle/kuFeTtoHhKQW2Ekc8
Google Docs
Поиск первой работы в IT
Вокруг поиска первой работы в IT много вопросов и проблем: большой конкурс на позицию junior, провалы на собеседованиях, глобальная незаинтересованность рынка в джунах, особенно если им больше 30. Мы, издание «Библиотека программиста», решили провестискал…
Интерфейс RequestDispatcher используется для передачи запроса другому ресурсу, при этом существует возможность добавления данных, полученных из этого ресурса к собственному ответу сервлета. Так же этот интерфейс используется для внутренней коммуникации между сервлетами в одном контексте.
В интерфейсе объявлено два метода:
☕️ void forward(ServletRequest var1, ServletResponse var2) — передает запрос из сервлета к другому ресурсу (сервлету, JSP или HTML файлу) на сервере.
☕️ void include(ServletRequest var1, ServletResponse var2) — включает контент ресурса (сервлет, JSP или HTML страница) в ответ.
Доступ к интерфейсу можно получить с помощью метода интерфейса ServletContext - RequestDispatcher getRequestDispatcher(String path), где путь, начинающийся с /, интерпретируется относительно текущего корневого пути контекста.
В интерфейсе объявлено два метода:
☕️ void forward(ServletRequest var1, ServletResponse var2) — передает запрос из сервлета к другому ресурсу (сервлету, JSP или HTML файлу) на сервере.
☕️ void include(ServletRequest var1, ServletResponse var2) — включает контент ресурса (сервлет, JSP или HTML страница) в ответ.
Доступ к интерфейсу можно получить с помощью метода интерфейса ServletContext - RequestDispatcher getRequestDispatcher(String path), где путь, начинающийся с /, интерпретируется относительно текущего корневого пути контекста.
#вопросы_с_собеседований
Что такое deadlock?
Что такое deadlock?
Взаимная блокировка (deadlock)
- явление, при котором все потоки находятся в режиме ожидания. Происходит, когда достигаются состояния:1. взаимного исключения: по крайней мере один ресурс занят в режиме неделимости и, следовательно, только один поток может использовать ресурс в любой данный момент времени.
2. удержания и ожидания: поток удерживает как минимум один ресурс и запрашивает дополнительные ресурсов, которые удерживаются другими потоками.
3. отсутствия предочистки: операционная система не переназначивает ресурсы: если они уже заняты, они должны отдаваться удерживающим потокам сразу же.
4. цикличного ожидания: поток ждёт освобождения ресурса, другим потоком, который в свою очередь ждёт освобождения ресурса заблокированного первым потоком.
Простейший способ избежать взаимной блокировки – не допускать цикличного ожидания. Этого можно достичь, получая мониторы разделяемых ресурсов в определённом порядке и освобождая их в обратном порядке.
Как проверить, удерживает ли поток монитор определённого ресурса?
Метод
Метод
Thread.holdsLock(lock)
возвращает true
, когда текущий поток удерживает монитор у определённого объекта.#вопросы_с_собеседований
Для чего используются ключевые слова volatile, synchronized, transient, native?
Для чего используются ключевые слова volatile, synchronized, transient, native?