uz
Feedback
Java Developer

Java Developer

Kanalga Telegram’da o‘tish

MAKE JAVA GREAT AGAIN Мемы: @java_memes

Ko'proq ko'rsatish
7 899
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kunlar
Ma'lumot yo'q30 kunlar
Postlar arxiv
Плохо – хорошо Плохо Iterator<T> itr = list.stream().iterator(); while (itr.hasNext()) consumer.consume(itr.next()); Хорошо list.stream().forEach(consumer);

Плохо – хорошо Плохо List<T> list = new ArrayList<>(); for (T item : set) list.add(item); Хорошо List<T> list = new ArrayList<>(set); Пример взял с одного из докладов JPoint 2018

Книги для Джава-разработчика Я выкладывал книги, которые сам прочитал в начале пути, и которые мне советовали опытные разрабы. Подборка моих обзоров: Head First Java https://t.me/java_developer/10 Грокаем алгоритмы https://t.me/java_developer/28 Complete Reference Java https://t.me/java_developer/48 Clean code https://t.me/java_developer/71 Concurrency in practice https://t.me/java_developer/77 Effective Java https://t.me/java_developer/127

Как воспитать привычку У Аркадия Морейниса прочитал о воспитании привычек и решил написать пост о своих, которые два года назад помогли мне начать учить Джаву. Воспитание привычки – когда вы решили делать что-то каждый рабочий день определенное количество раз. 1. Перестаньте думать нужно ли это делать и есть ли на это время. Решите один раз и двигайтесь в этом направлении. Когда я решил стать разрабом, начал каждый день кодить, смотреть лекции и читать книги. 2. Привяжите каждый подход ко времени или событию. Сразу после завтрака я повторял вчерашний материал, после решал задачи, а за час до сна читал книги. 3. Подход – это выполнение определенных действий нужное количество раз. Мои подходы: решить 10 задач, сделать конспекты по 2-м лекциям, прочитать 30 страниц, разобрать 10 вопросов с собеседований. Главное установить количество – не «почитать книгу», а именно «прочитать 30 страниц». 4. Не переборщите с количеством действий внутри подхода. Каждый подход не должен вызывать дикого отвращения. Когда я понимал, что задача занимает овер дохрена времени, переключался на следующую. Нерешенная задача становилась первой в списке на следущий подход. Если все задачи в списке были сложными, то снижал ежедневную планку. 5. Не пропускайте ни одного подхода.Никогда. Для этого правильно выбирайте привязку по времени и количество действий в подходе. Я понимал, что если перестану решать задачи хотя бы один день, то есть вероятность надолго отбросить мечту стать программистом. 6. Придумайте вознаграждение. Это сильно ускорит привыкание. Когда я учил Джаву, у меня не было вознаграждения. А вот писать посты каждый день меня подстёгивают просмотры, лайки и сообщения в личку. 7. Привычка воспитывается не быстро. Некоторые говорят, что достаточно 21 дня, но это не всегда так. Не расстраивайтесь, если были пропуски, у меня тоже получилось не с первого подхода.

Как вы относитесь к Kotlin?

Как выучить Java за месяц, занимаясь 2 часа в день Никак.

Что посмотреть на выходных Крутое мок интервью от Стаса Лозенко https://youtu.be/E6_IVAbBIug Красно-черные деревья https://youtu.be/-gKLTH0KTF4 Мотивация для программирования https://youtu.be/J1usv2Hn-pU #чтопосмотреть

Вопросы с собеседований по Spring — что такое Spring — как понимаете Dependency Injection — как понимаете Inversion of Control — примеры DI и IoC — что такое бин Spring’е — какие есть scope у бина — можно ли задать свой scope — жизненный цикл бина — что такое жизненный цикл бина — можно ли добавить бин, если приложение уже стартануло — как получить объекты ServletContext и ServletConfig — виды внедрения зависимостей — для чего нужна аннотация @Qualifier — разница между аннотациями @Component, @Repository, @Service — как работает транзакция в Spring — что знаете о DispatcherServlet и ContextLoaderListener — рассказать как устроен Spring MVC — для чего нужны аннотации @RequestBody, @PathVariable, @RequestParam — что лежит в основе Spring Security — преимущества и недостатки Spring Data

Собеседование Android-разработчиков Составил вместе с моим другом, разработчиком мобильных приложений и админом канала Android Live, пост, который поможет подготовиться к собеседованиям на Андроид-разработчика. Теоретические вопросы – первое, на что стоит обратить внимание при подготовке к собеседованиям. На работе мы большую часть времени пишем код. А чтобы писать качественный код, разработчик должен как минимум хорошо знать свой язык программирования и разбираться в алгоритмах. Поэтому часто на собеседованиях сначала спрашивают теорию, потом дают решать алгоритмические задачи и в конце вопросы по архитектуре приложений. Вопросы по Андроид зависят от позиции, на которую собеседуешься. Если претендуешь на junior, то важно хорошо ответить на вопросы по основным компонентам: Service, Activity, Fragment. На middle и seniour – готовься к вопросам, которые связаны с архитектурой и применением специфических для проекта библиотек. 77 вопросов и ответов с собеседований https://android.jlelse.eu/android-interview-questions-cheat-sheet-96ea01c88def Репозиторий с ресурсами по алгоритмам: линки, книги, курсы, реализации на многих языках программирования https://github.com/tayllan/awesome-algorithms Сайт для прокачки себя в алгоритмах https://www.hackerrank.com Канал моего друга Саши об Андроид-разработке https://t.me/android_live

​​Local class Локальный класс определяется в блоке кода. Часто объявление происходит в методе другого класса. Но его можно объявить в статических или нестатических блоках инициализации. • Локальный класс виден в пределах блока, где он объявлен • Не может быть объявлен как private, public, protected или static • Не может содержать статические объявления, только константы • Имеет окружающий их экземпляр только в нестатическом контексте • Видны все поля и методы внешнего класса обычные и статические (в зависимости от контекста)

​​Кстати, пример с Runnable можно заменить лямбдой

​​Anonymous class • Анонимный класс не имеет имени • Не является членом внешнего класса • Объявляется и сразу создает экземпляр • Можно поместить в любом месте программы, где разрешается применять выражения • Обычно реализует только методы и своего интерфейса или суперкласса • Должны быть короткими, так как объявляются среди других выражений

​​Inner class Нестатические внутренние класса называются inner classes, в русском переводе - просто внутренние. • Внутренний класс имеет доступ ко всем переменным и методам своего внешнего класса • Может содержать только нестатические методы и поля • Если хотим получить ссылку на объект внешнего класса, то нужно написать OuterClass.this • Пример внутреннего класса в jdk - HashMap.KeySet Для более глубокого понимания внутренних классов прочитайте в Effective Java главу "Предпочитайте статические классы-члены нестатическим".

​​Static nested class Определение класса можно размещать внутри другого класса. Существует два типа таких классов - статические и нестатические. Область видимости внутренних классов ограничена областью видимости внешнего класса. Если нам не нужна связь между объектом внутреннего класса и объектом внешнего класса, то делаем внутренний класс статическим. Он называется static nested class, в русском переводе - вложенный. • вложенный класс имеет доступ к статическим свойствам и методам внешнего класса, включая private. • из объекта вложенного класса нельзя обращаться к нестатическим членам внешнего • чтобы создать объект вложенного класса, не нужен объект внешнего Пример вложенного класса в jdk - HashMap.Node

​​Super В Джаве ключевое слово super обозначает суперкласс. Его нужно использовать, когда хотите вызвать конструктор суперкласса или обратиться к члену суперкласса, который скрыт членом подкласса. Вызов super() должен быть первым оператором в конструкторе, если мы его используем.

​​Final • От final классов нельзя наследоваться. Соответственно методы такого класса не будут переопределены. Пример: класс String. • Final методы нельзя переопределять в подклассах. Методы нужно делать final, когда мы хотим, чтобы их реализация не изменялась. • Final переменные не могут быть изменены: примитивам нельзя присвоить другое значение, ссылочным - ссылку на другой объект. • Если final переменная содержит ссылку на объект, то объект можно изменять, но переменная всегда будет ссылаться на тот же самый объект. • Final аргументы метода предназначены только для чтения. Если попытаться изменить их, то произойдет ошибка компиляции. • Конструктор не может быть static, abstract или final

Почему Самый главный вопрос, который должен задавать разработчик - «почему?» Почему технология так устроена? Почему в проекте используется именно эта либа? Почему метод так работает? Умение задавать себе и окружающим вопрос «почему?» помогает докапываться до первопричины и расти, как специалисту. И наоборот, если не искать причин и полагаться на магию, то крутым спецом не стать.

​​Статистика языков программирования Сотрудники HeadHunter провели исследование и вычислили самые востребованные языки программирования в России. Они посчитали упоминания в вакансиях и резюме, вычислили средние зарплаты и разложили всё по табличкам. Короч получилась интересная статья https://habr.com/company/hh/blog/418079/ Коротко: Джава в топах, в Москве и Питере сосредоточились больше половины вакансий для программистов

Правильный ответ: А, В

Вопрос про анонимные классы. Какие из этих утверждений верны? A. Анонимный класс может указывать абстрактный класс в качестве своего базового типа. B. Анонимный класс может указывать интерфейс в качестве своего базового типа. С. Анонимный класс может указывать одновременно абстрактный класс и интерфейс в качестве своих базовых типов. D. Анонимный класс всегда может быть заменен лямбда-выражением. E. Анонимному классу нужен конструктор без аргументов для своего родительского класса.