Forwarded from Java & JVM langs (Kotlin)
Сегодня второй день и с нами апостол GraalVM, Св. Олег Эстонскай
Forwarded from Java & JVM langs (Kotlin)
В целом, в русскоязычном коммьюнити пошла определенная дискуссия, связанная с тем, что этото новый способ настоящей компиляции ahead-of-time
Java Puzzler
Держите пазлер с доклада Баруха Садогурского и Тагира Валеева.
Что из этого не скомпилируется?
A.
B.
C.
D.
Держите пазлер с доклада Баруха Садогурского и Тагира Валеева.
Что из этого не скомпилируется?
A.
for (;;) {;;}
B.
for (;;) ;;
C.
{;} for(;;) {;}
D.
; for(;;) ;
Java Puzzler
Что будет выведено на экран?
A. 2
B. 25
C. 1
D. 50
Что будет выведено на экран?
final var targaryens = 2;
final var lannisters = 25;
final var starks = ‘1’;
final var snow = true ?
targaryens * lannisters
: starks;
System.out.print(snow);
A. 2
B. 25
C. 1
D. 50
300 бесплатных полезных ресурсов
Сервисы для учебы, работы, бизнеса, продуктивности и прочего. У статьи 1,5 миллионов просмотров. Аккуратнее, там можно залипнуть на весь день
https://habr.com/post/250621/
Сервисы для учебы, работы, бизнеса, продуктивности и прочего. У статьи 1,5 миллионов просмотров. Аккуратнее, там можно залипнуть на весь день
https://habr.com/post/250621/
Java Developer
Java Puzzler Держите пазлер с доклада Баруха Садогурского и Тагира Валеева. Что из этого не скомпилируется? A. for (;;) {;;} B. for (;;) ;; C. {;} for(;;) {;} D. ; for(;;) ;
Правильный ответ B. Из-за вечного цикла на последней точки с запятой произойдёт unreachable statement.
Java Developer
Java Puzzler Что будет выведено на экран? final var targaryens = 2; final var lannisters = 25; final var starks = ‘1’; final var snow = true ? targaryens * lannisters : starks; System.out.print(snow); A. 2 B. 25 C. 1 D. 50
переписал объяснение:
Правильный ответ А. Компилятор заранее посчитает константы, и в тернарном операторе для типа переменной snow сделает выбор в пользу char. Значение snow становится 50, а при выводе на экран печатается 2, т.к. в таблице ascii 50-й символ это двойка.
В доке говорится, если одно из значений constant expression типа int, long, short, а второе - более узкое, то в случае влезания в диапазон меньшего, выберется он. Если убрать final у targaryens или lannisters, то правильный ответ будет D – 50.
Правильный ответ А. Компилятор заранее посчитает константы, и в тернарном операторе для типа переменной snow сделает выбор в пользу char. Значение snow становится 50, а при выводе на экран печатается 2, т.к. в таблице ascii 50-й символ это двойка.
В доке говорится, если одно из значений constant expression типа int, long, short, а второе - более узкое, то в случае влезания в диапазон меньшего, выберется он. Если убрать final у targaryens или lannisters, то правильный ответ будет D – 50.
Превью интервью с разработчиком из Facebook
Взял интервью у Максима Корыстова. Он к 26 годам успел поработать преподавателем в университете, разработчиком в ВК, Zenefits и Facebook. Выкладываю демо-версия интервью, остальная часть пока в виде аудиосообщений.
— Расскажи немного о себе. Откуда родом и как начинал свой путь разработчика?
Я родился в Оренбурге, город с пол миллионом жителей в южной части России. Когда мне было лет 13 лет, я загорелся идеей делать мультипликацию. Мне тогда под руки попался инструмент Macromedia Flash Studio (позднее adobe flash), оказалось что помимо анимации там можно писать на ActionScript - моем первом языке программирования. С 9 класса начал ездить на олимпиады по программированию. Съездил два раза в Летнюю Компьютерную Школу. Там познакомился с ребятами из СПбГУ, они мне понравились, я поступил в СПбГУ. С 10 класса занимался фрилансом, делал веб сервисы, сайты.
— Круто, боевое детство было! после учебы куда пошел работать?
Ещё во время учебы в СПбГУ я вёл лекции по алгоритмы и структуры данных для школьников на базе образовательной программы ВКонтакте. На последнем курсе сам устроился туда работать.
— Какие задачи выполнял в ВК? Пример какой-нибудь интересной?
Работал над noSql базой данных для замены mysql в некоторых местах. В ней хранится статистика о постах например.
Скоро обработаю и выложу основную часть интервью, а пока можете полистать канал и ЛинкедИн Максима
https://yangx.top/better_dont
https://www.linkedin.com/in/maxim-korystov/
Взял интервью у Максима Корыстова. Он к 26 годам успел поработать преподавателем в университете, разработчиком в ВК, Zenefits и Facebook. Выкладываю демо-версия интервью, остальная часть пока в виде аудиосообщений.
— Расскажи немного о себе. Откуда родом и как начинал свой путь разработчика?
Я родился в Оренбурге, город с пол миллионом жителей в южной части России. Когда мне было лет 13 лет, я загорелся идеей делать мультипликацию. Мне тогда под руки попался инструмент Macromedia Flash Studio (позднее adobe flash), оказалось что помимо анимации там можно писать на ActionScript - моем первом языке программирования. С 9 класса начал ездить на олимпиады по программированию. Съездил два раза в Летнюю Компьютерную Школу. Там познакомился с ребятами из СПбГУ, они мне понравились, я поступил в СПбГУ. С 10 класса занимался фрилансом, делал веб сервисы, сайты.
— Круто, боевое детство было! после учебы куда пошел работать?
Ещё во время учебы в СПбГУ я вёл лекции по алгоритмы и структуры данных для школьников на базе образовательной программы ВКонтакте. На последнем курсе сам устроился туда работать.
— Какие задачи выполнял в ВК? Пример какой-нибудь интересной?
Работал над noSql базой данных для замены mysql в некоторых местах. В ней хранится статистика о постах например.
Скоро обработаю и выложу основную часть интервью, а пока можете полистать канал и ЛинкедИн Максима
https://yangx.top/better_dont
https://www.linkedin.com/in/maxim-korystov/
Задачи с Joker’а
На конференции был огромный зал со стендами спонсоров и их активностями. Многие спонсоры Джокера давали участникам листки с задачами. Если решить все задачи и оставить свои контакты, то можно было получить призы с символикой компании: футболки, колонки, пауэрбенки, чехлы, кружки, ранцы, айпады.
Короч я зацепил пару призов и кучу материала для канала. Буду выкладывать задачки от Одноклассников, Сбербанка, GridGane и других. Сегодня-завтра — задачи от Infobip. Решения не буду публиковать, там вроде несложно.
На конференции был огромный зал со стендами спонсоров и их активностями. Многие спонсоры Джокера давали участникам листки с задачами. Если решить все задачи и оставить свои контакты, то можно было получить призы с символикой компании: футболки, колонки, пауэрбенки, чехлы, кружки, ранцы, айпады.
Короч я зацепил пару призов и кучу материала для канала. Буду выкладывать задачки от Одноклассников, Сбербанка, GridGane и других. Сегодня-завтра — задачи от Infobip. Решения не буду публиковать, там вроде несложно.
Что будет напечатано на консоль? (Kotlin)
A) NullPointerException
B) Before
null
After
C) Before
After
A) NullPointerException
B) Before
null
After
C) Before
After
Обучающий марафон по Java
Объявляю о наборе учеников на первый марафон по Джаве. Я назвал это марафоном, потому что участникам за месяц-полтора нужно будет изучить основы. По сути это бесплатный мини-курс для начинающих.
Как будет проходить марафон?
Все желающие участвовать заполняют анкету в Гугл формс. Там будут четыре вопроса по Джаве и много вопросов о себе. Я со своим коллегой отбираю анкеты по ответам на технические вопросы, с кем-то может связываюсь для уточнений и добавляю в закрытый чат всех прошедших.
После каждую неделю выкладываю материалы по теме и задания с дедлайнами. Участники, которые не уложились по времени, отчисляются. Кто дошел до конца — пройдёт пробное интервью на основе реальных вопросов с собеседований.
Для кого марафон?
Материалы в марафоне подобраны для начинающих, кто только осваивает программирование.
Какие темы будут затронуты?
— устройство класса
— типы данных, переменные, операторы
— условные операторы и циклы
— символы и строки
— рекурсия
— массивы
Будет ли ревью кода?
Ревью будет один раз у тех, кто выполнил все задания.
Какие плюсы вы получите:
— прокачаетесь в Джаве
— проверите свои силы в изучении языка
— поймёте, нравится вам джава и стоит ли учить её дальше
Зачем мне это всё?
Хочу попробовать себя в роли наставника и показать, что учить Джаву просто.
Марафон бесплатный. Приглашайте друзей, вместе интереснее и проще обучаться.
Анкета для участия:
https://goo.gl/forms/g0X8ApMVrRcuHCp92
Объявляю о наборе учеников на первый марафон по Джаве. Я назвал это марафоном, потому что участникам за месяц-полтора нужно будет изучить основы. По сути это бесплатный мини-курс для начинающих.
Как будет проходить марафон?
Все желающие участвовать заполняют анкету в Гугл формс. Там будут четыре вопроса по Джаве и много вопросов о себе. Я со своим коллегой отбираю анкеты по ответам на технические вопросы, с кем-то может связываюсь для уточнений и добавляю в закрытый чат всех прошедших.
После каждую неделю выкладываю материалы по теме и задания с дедлайнами. Участники, которые не уложились по времени, отчисляются. Кто дошел до конца — пройдёт пробное интервью на основе реальных вопросов с собеседований.
Для кого марафон?
Материалы в марафоне подобраны для начинающих, кто только осваивает программирование.
Какие темы будут затронуты?
— устройство класса
— типы данных, переменные, операторы
— условные операторы и циклы
— символы и строки
— рекурсия
— массивы
Будет ли ревью кода?
Ревью будет один раз у тех, кто выполнил все задания.
Какие плюсы вы получите:
— прокачаетесь в Джаве
— проверите свои силы в изучении языка
— поймёте, нравится вам джава и стоит ли учить её дальше
Зачем мне это всё?
Хочу попробовать себя в роли наставника и показать, что учить Джаву просто.
Марафон бесплатный. Приглашайте друзей, вместе интереснее и проще обучаться.
Анкета для участия:
https://goo.gl/forms/g0X8ApMVrRcuHCp92
Какой метод можно вызвать вместо 🦄, чтобы добавить в коллекцию два слова: «Info», «bip», не получив ConcurrentModificationException?
A) list.clear()
B) ((ArrayList<String>) list).trimToSize()
C) ((ArrayList<String>) list).clone()
D) list.sort(naturalOrder())
E) ((ArrayList<String>) list).ensureCapacity(1)
F) list.replaceAll(s -> s)
G) ((ArrayList<String>) list).removeIf(s -> true)
H) list.add(0, "Info")
I) Ни один из предложенных вариантов
A) list.clear()
B) ((ArrayList<String>) list).trimToSize()
C) ((ArrayList<String>) list).clone()
D) list.sort(naturalOrder())
E) ((ArrayList<String>) list).ensureCapacity(1)
F) list.replaceAll(s -> s)
G) ((ArrayList<String>) list).removeIf(s -> true)
H) list.add(0, "Info")
I) Ни один из предложенных вариантов
Java 8 — лидер
Судя по опросу в канале https://yangx.top/java_developer/269 и по опросу участников Джокера, большая часть людей сидит на восьмой Джаве.
Плюс мало кто понимает значение фразы "Oracle прекратит публичную поддержку Java 8 с 2019 года". Какие мысли у вас по этому поводу? Собираетесь ли переходить на Java 11? На другой язык программирования? Релизы каждые полгода — хорошо или плохо?
Судя по опросу в канале https://yangx.top/java_developer/269 и по опросу участников Джокера, большая часть людей сидит на восьмой Джаве.
Плюс мало кто понимает значение фразы "Oracle прекратит публичную поддержку Java 8 с 2019 года". Какие мысли у вас по этому поводу? Собираетесь ли переходить на Java 11? На другой язык программирования? Релизы каждые полгода — хорошо или плохо?