Android Developer (teamlead)
#офис #полныйдень #удаленка
З/П: от 250 000 до 280 000 ₽
Локация: Москва, Санкт-Петербург, Ростов-на-Дону
Компания: Aston
Обязанности:
- разрабатывать приложения на платформе Android;
- оценивать сложность разработки, планировать и работать по спринтам (Agile/Scrum);
- разрабатывать unit-тесты, проводить рефакторинг и code review;
- управлять командой разработки.
Требования:
- опыт разработки под Android от 7-ми лет;
- опыт работы на Java и Kotlin от 5-ти лет;
- опыт управления командой разработки;
- опыт работы с проектом, где DAU от 10 000 человек;
уверенное знание Android SDK, знание разницы между API Levels;
- знание современных архитектурных паттернов в Android-разработке, Clean Architecture;
- понимание принципов проектирования SOLID;
- опыт разработки клиент-серверного приложения (REST, JSON);
- опыт оптимизации сложного UI;
- опыт оптимизации технических метрик приложения.
#офис #полныйдень #удаленка
З/П: от 250 000 до 280 000 ₽
Локация: Москва, Санкт-Петербург, Ростов-на-Дону
Компания: Aston
Обязанности:
- разрабатывать приложения на платформе Android;
- оценивать сложность разработки, планировать и работать по спринтам (Agile/Scrum);
- разрабатывать unit-тесты, проводить рефакторинг и code review;
- управлять командой разработки.
Требования:
- опыт разработки под Android от 7-ми лет;
- опыт работы на Java и Kotlin от 5-ти лет;
- опыт управления командой разработки;
- опыт работы с проектом, где DAU от 10 000 человек;
уверенное знание Android SDK, знание разницы между API Levels;
- знание современных архитектурных паттернов в Android-разработке, Clean Architecture;
- понимание принципов проектирования SOLID;
- опыт разработки клиент-серверного приложения (REST, JSON);
- опыт оптимизации сложного UI;
- опыт оптимизации технических метрик приложения.
Для чего используются аннотации?
Удобно рассмотреть случаи применения аннотаций с точки зрения возможных значений их свойства RetentionPolicy:
SOURCE – аннотация присутствует только в исходном коде, но не вовлечена в компиляцию. Можно разделить их на две категории:
Первая – аннотации для программиста, а не для программы. Это всевозможные маркеры. Они добавляют аннотируемым элементам некоторую специальную семантику. Более формализованный вариант документации. Примеры – @Immutable и @ThreadSafe из Hibernate.
Вторая категория – инструкции для инструментов разработки. Примеры этой категории, @SuppressWarnings и @Override могут влиять на предупреждения и ошибки компиляции. IntelliJ IDEA умеет понимать @Nullable и @NonNull из Spring Framework, и предупреждать о возможных NullPointerException.
CLASS – самое экзотическое, но при том стандартное значение. Аннотация попадает в байткод .class-файла, но игнорируется загрузчиком классов. В результате такая аннотация недоступна для рефлекшна. Используется для сторонних инструментов, обрабатывающих байткод, например для обфускаторов.
RUNTIME – самое ходовое значение. Цель снабжается метаинформацией, доступной во время выполнения программы. Сама по себе аннотация всё так же не добавляет нового поведения. Для практической пользы runtime-аннотации в программе должен быть исполнен некоторый код процессинга, который прочитает метаинформацию инструментами Reflection API. Такой механизм широко используется во множестве популярных фреймворков: Spring, Hibernate, Jackson.
Удобно рассмотреть случаи применения аннотаций с точки зрения возможных значений их свойства RetentionPolicy:
SOURCE – аннотация присутствует только в исходном коде, но не вовлечена в компиляцию. Можно разделить их на две категории:
Первая – аннотации для программиста, а не для программы. Это всевозможные маркеры. Они добавляют аннотируемым элементам некоторую специальную семантику. Более формализованный вариант документации. Примеры – @Immutable и @ThreadSafe из Hibernate.
Вторая категория – инструкции для инструментов разработки. Примеры этой категории, @SuppressWarnings и @Override могут влиять на предупреждения и ошибки компиляции. IntelliJ IDEA умеет понимать @Nullable и @NonNull из Spring Framework, и предупреждать о возможных NullPointerException.
CLASS – самое экзотическое, но при том стандартное значение. Аннотация попадает в байткод .class-файла, но игнорируется загрузчиком классов. В результате такая аннотация недоступна для рефлекшна. Используется для сторонних инструментов, обрабатывающих байткод, например для обфускаторов.
RUNTIME – самое ходовое значение. Цель снабжается метаинформацией, доступной во время выполнения программы. Сама по себе аннотация всё так же не добавляет нового поведения. Для практической пользы runtime-аннотации в программе должен быть исполнен некоторый код процессинга, который прочитает метаинформацию инструментами Reflection API. Такой механизм широко используется во множестве популярных фреймворков: Spring, Hibernate, Jackson.
Что такое busy spin?
busy spin – это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait(), sleep() или yield(), которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо, для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах, существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.Media is too big
VIEW IN TELEGRAM
Java: A Beginner's Guide, Ninth Edition
Автор: Herbert Schildt
Год издания: 2022
#java #english
Скачать книгу
Автор: Herbert Schildt
Год издания: 2022
#java #english
Скачать книгу
Метод Math.pow()
Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.
Выше рассмотрен пример возведение числа в квадрат и куб.
Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.
Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.
Выше рассмотрен пример возведение числа в квадрат и куб.
Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.
Можно ли наследовать аннотацию?
Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию @Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново.
Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override.
Но в отличие от других ссылочных типов, объявление аннотации (@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation.
Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию @Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново.
Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override.
Но в отличие от других ссылочных типов, объявление аннотации (@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation.
Java для сисадминов
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.
Читать статью
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.
Читать статью
🚀 Спроектируйте ленту друзей ВКонтакте в прямом эфире!
📌 System Design interview — особенная секция собеседований разработчиков, где проверяется знание плюсов и минусов различных подходов при проектировании архитектуры, умение уточнять требования, а также способность кандидата проектировать сложные распределенные системы.
🗓 18 марте в 18:00 по МСК пройдет бесплатный открытый урок по проектированию ленты друзей ВКонтакте в прямом эфире.
Чему вы научитесь:
- проводить анализ требований;
- оценивать нагрузку на систему;
- проектировать ленту друзей ВКонтакте;
- проходить собеседования.
➡️ Регистрация на открытый урок ⬅️
📌 System Design interview — особенная секция собеседований разработчиков, где проверяется знание плюсов и минусов различных подходов при проектировании архитектуры, умение уточнять требования, а также способность кандидата проектировать сложные распределенные системы.
🗓 18 марте в 18:00 по МСК пройдет бесплатный открытый урок по проектированию ленты друзей ВКонтакте в прямом эфире.
Чему вы научитесь:
- проводить анализ требований;
- оценивать нагрузку на систему;
- проектировать ленту друзей ВКонтакте;
- проходить собеседования.
➡️ Регистрация на открытый урок ⬅️
Java developer (middle, senior)
#офис #полныйдень
Локация: Новосибирск, Москва
Требования:
- Опыт Backend разработки на Java, Kotlin, Scala
Будет плюсом:
- знание BigData
- знакомство с фреймворками (Spark, Flink, Nifi, Kafka)
Откликнуться: @Svetlanakachar
#офис #полныйдень
Локация: Новосибирск, Москва
Требования:
- Опыт Backend разработки на Java, Kotlin, Scala
Будет плюсом:
- знание BigData
- знакомство с фреймворками (Spark, Flink, Nifi, Kafka)
Откликнуться: @Svetlanakachar
#вопросы_с_собеседований
Что такое busy spin?
Что такое busy spin?
busy spin – это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait(), sleep() или yield(), которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо, для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах, существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.Как Junior разработчику найти свою первую работу?
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
Просто ли стать Java-разработчиком? Нет. Всем ли подойдет IT? Тоже нет. Стоит ли попробовать? Да.
Если вы хотите стать востребованным разработчиком, вам нужно не просто научиться писать код. А в первую очередь сформировать инженерное мышление.
На этом построен процесс обучения на Хекслете. На профессии «Java-разработчик» вас ждет не только теория, но и много практики:
✔️ Сотни упражнений в браузере.
✔️ 5 проектов для портфолио на GitHub.
✔️ 150 тестовых заданий от наших партнёров.
✔️ Вебинары, сессии лайвкодинга с наставником 1-2 раза в неделю.
Сделайте шаг к карьере IT-специалиста уже сегодня! Переходите по ссылке выше и начните обучение!
🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10% на курс!
Если вы хотите стать востребованным разработчиком, вам нужно не просто научиться писать код. А в первую очередь сформировать инженерное мышление.
На этом построен процесс обучения на Хекслете. На профессии «Java-разработчик» вас ждет не только теория, но и много практики:
✔️ Сотни упражнений в браузере.
✔️ 5 проектов для портфолио на GitHub.
✔️ 150 тестовых заданий от наших партнёров.
✔️ Вебинары, сессии лайвкодинга с наставником 1-2 раза в неделю.
Сделайте шаг к карьере IT-специалиста уже сегодня! Переходите по ссылке выше и начните обучение!
🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10% на курс!
👩💻 В новом выпуске #JEPCafe José Paumard рассказывает о Vector API, который может значительно ускорить вычисления, используя SIMD-возможности вашего процессора.
Рассмотрены следующие темы:
✔️ Знакомство с функциями SIMD
✔️ Векторные параллельные вычисления
✔️ Создание векторов из массивов
и др.
Приятного просмотра!
Рассмотрены следующие темы:
✔️ Знакомство с функциями SIMD
✔️ Векторные параллельные вычисления
✔️ Создание векторов из массивов
и др.
Приятного просмотра!
YouTube
Learn how to write fast Java code with the Vector API - JEP Café #18
The Vector API can tremendously speed up computations by using the SIMD capabilities of your CPU. Learn how parallel computing works on a SIMD machine, how the Java Vector API gives you access to these capabilities, and how you can structure your code to…
Как Junior разработчику найти свою первую работу?
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
#Вопросы_с_собеседования
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw.
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw.
Чистый код Java: как его написать? Лучшие практики от экспертов
азработка программного обеспечения — сложное ремесло.
Всегда есть множество способов написания определенных частей кода или разработки новых функций. В конечном счете, они могут делать одно и то же, но некоторые из них могут быть на несколько порядков эффективнее и проще для понимания, чем другие.
Разработчики должны выяснить, какой подход будет работать лучше всего и как писать качественный чистый код.
В этой статье мы сосредоточимся на написании чистого кода на Java. Почему так важно писать легко читаемый код? Каковы лучшие практики разработки кода на Java? Продолжайте читать, чтобы узнать!
https://stratoflow.com/java-clean-code/
азработка программного обеспечения — сложное ремесло.
Всегда есть множество способов написания определенных частей кода или разработки новых функций. В конечном счете, они могут делать одно и то же, но некоторые из них могут быть на несколько порядков эффективнее и проще для понимания, чем другие.
Разработчики должны выяснить, какой подход будет работать лучше всего и как писать качественный чистый код.
В этой статье мы сосредоточимся на написании чистого кода на Java. Почему так важно писать легко читаемый код? Каковы лучшие практики разработки кода на Java? Продолжайте читать, чтобы узнать!
https://stratoflow.com/java-clean-code/
Stratoflow
Java Clean Code: How to Write It? Best Practices From Experts - Stratoflow
Why is it so important to write clean code? What are the best practices for developing code in Java? Learn more about Java clean code.
Get Programming with Scala
Автор: Daniela Sfregola
Год издания: 2021
#scala #java #english
Скачать книгу
Автор: Daniela Sfregola
Год издания: 2021
#scala #java #english
Скачать книгу