Что такое "сделать"
В статье рассказывается, как правильно работать в проекте, оценивать сроки и никого не подводить.
https://ksoftware.livejournal.com/202173.html
В статье рассказывается, как правильно работать в проекте, оценивать сроки и никого не подводить.
https://ksoftware.livejournal.com/202173.html
Вопросы с собеседований
— виды циклов
— что такое рекурсия
— отличие final, finally, finalize
— что такое try-with-resource
— отличие wait(100) от sleep(100)
— что такое пул строк
— почему String является immutable
— какие виды деревьев существуют
— примеры применения деревьев
— рассказать, как работает HashMap
— что такое автобоксинг
— рассказать про алгоритмы сортировки и их сложности
— для чего нужны дженерики
— виды циклов
— что такое рекурсия
— отличие final, finally, finalize
— что такое try-with-resource
— отличие wait(100) от sleep(100)
— что такое пул строк
— почему String является immutable
— какие виды деревьев существуют
— примеры применения деревьев
— рассказать, как работает HashMap
— что такое автобоксинг
— рассказать про алгоритмы сортировки и их сложности
— для чего нужны дженерики
Code style. Naming
Пара рекомендаций по наименованиям с одного проекта.
— Переменные сервиса или репозитория следует называть просто "service" и "repository". Полное имя нужно давать, когда в классе используется несколько сервисов или репозиториев.
Плохо
Хорошо
— Если имя реквест параметра совпадает с именем параметра метода, то value для аннотации RequestParam указывать не обязательно.
Плохо
Хорошо
Пара рекомендаций по наименованиям с одного проекта.
— Переменные сервиса или репозитория следует называть просто "service" и "repository". Полное имя нужно давать, когда в классе используется несколько сервисов или репозиториев.
Плохо
@Autowired
FooFooBarBarRepository fooFooBarBarRepository;
Хорошо
@Autowired
FooFooBarBarRepository repository;
— Если имя реквест параметра совпадает с именем параметра метода, то value для аннотации RequestParam указывать не обязательно.
Плохо
public ResponseEntity<Void> foo(@RequestParam(value = "barType") String barType,
@RequestParam(value = "barUID") String barUID)
Хорошо
public ResponseEntity<Void> foo(@RequestParam String barType, @RequestParam String barUID)
Code style
Не нужно проверять, содержит ли коллекция элементы, когда нужно по ней итерироваться. Просто итерируйтесь.
Плохо
Хорошо
Не нужно проверять, содержит ли коллекция элементы, когда нужно по ней итерироваться. Просто итерируйтесь.
Плохо
if (!foos.isEmpty() {
for(Foo foo: foos) {
bar.delete(foo);
}
}
Хорошо
for(Foo foo: foos) {
bar.delete(foo);
}
Code style
Если блок if содержит в себе всю логику, то для лучшей читаемости инвертируйте if и переместите весь код из него.
Плохо
Хорошо
Если блок if содержит в себе всю логику, то для лучшей читаемости инвертируйте if и переместите весь код из него.
Плохо
public void foobar(List<Bar> bars) {
if (bars.isEmpty()) {
Bar bar = new Bar();
bar.setA();
bar.setB();
bar.setC();
bar.setD();
repository.save(bar);
}
}
Хорошо
public void foobar(List<Bar> bars) {
if (!bars.isEmpty()) {
return;
}
Bar bar = new Bar();
bar.setA();
bar.setB();
bar.setC();
bar.setD();
repository.save(bar);
}
Дисциплина важнее мотивации
Мотивация – временный порыв совершать задуманное. В один момент запал утихает и желание достигнуть цели уменьшается.
Дисциплина – систематическое прохождение шагов, которые вы наметили для достижения цели. Поэтому для долгосрочных задач дисциплина сильнее мотивация.
"Почему дисциплина важнее мотивации": https://vc.ru/6801-discipline
"Как дисциплинировать себя" с практическими советами: https://vc.ru/7933-practical-discipline
Мотивация – временный порыв совершать задуманное. В один момент запал утихает и желание достигнуть цели уменьшается.
Дисциплина – систематическое прохождение шагов, которые вы наметили для достижения цели. Поэтому для долгосрочных задач дисциплина сильнее мотивация.
"Почему дисциплина важнее мотивации": https://vc.ru/6801-discipline
"Как дисциплинировать себя" с практическими советами: https://vc.ru/7933-practical-discipline
Robert Martin – Clean code
Роберт Мартин в книге "Чистый код" описывает, как должен выглядеть идеальный код. Код в финальной стадии легкочитаем, понятен коллегам без комментариев и выглядит лаконично. Я бы каждый раз переживал за свой код, если бы моим ревьюером был Роберт. В книге много спорных моментов, но от этого она не становится менее крутой. А первые пять глав обязательны к прочтению каждому разработчику.
#книги
Роберт Мартин в книге "Чистый код" описывает, как должен выглядеть идеальный код. Код в финальной стадии легкочитаем, понятен коллегам без комментариев и выглядит лаконично. Я бы каждый раз переживал за свой код, если бы моим ревьюером был Роберт. В книге много спорных моментов, но от этого она не становится менее крутой. А первые пять глав обязательны к прочтению каждому разработчику.
#книги
Как учить SQL
Читать книгу "SQL за 24 часа"
Каждый час в книге - отдельная глава. Первые главы рассказывают, что такое база данных, что такое SQL, какие типы данных существуют. Дальше по нарастающей. Последние главы - о создании/изменении вьюх, расширениях стандарта языка. Вся теория сопровождается примерами для MySQL, Oracle, MS SQL. После каждой главы тесты и задания.
Решать упражнения sql-ex.ru
Задачи от самых простых до просто диких. Решайте их в связке с ресурсом sql-tutorial.ru. Для каждой задачи есть линки по нужной теме. Подучив Джаву и решив сотню задач на sql-ex, можно смело идти на собесы.
Проходить тесты quizful.net/test/sql_basic
Случайно выбираются 20 вопросов из 86 и даётся 20 минут на их решение. Примеры вопросов: "Что делает order by", "Какой будет результат запроса", "Сколько записей будет выбрано", "Сколько записей будет удалено".
#sql #книги #обучение
Читать книгу "SQL за 24 часа"
Каждый час в книге - отдельная глава. Первые главы рассказывают, что такое база данных, что такое SQL, какие типы данных существуют. Дальше по нарастающей. Последние главы - о создании/изменении вьюх, расширениях стандарта языка. Вся теория сопровождается примерами для MySQL, Oracle, MS SQL. После каждой главы тесты и задания.
Решать упражнения sql-ex.ru
Задачи от самых простых до просто диких. Решайте их в связке с ресурсом sql-tutorial.ru. Для каждой задачи есть линки по нужной теме. Подучив Джаву и решив сотню задач на sql-ex, можно смело идти на собесы.
Проходить тесты quizful.net/test/sql_basic
Случайно выбираются 20 вопросов из 86 и даётся 20 минут на их решение. Примеры вопросов: "Что делает order by", "Какой будет результат запроса", "Сколько записей будет выбрано", "Сколько записей будет удалено".
#sql #книги #обучение
Как не надо писать сопроводительное письмо
Нашёл на headhunter'е своё старое сопроводительное письмо. Я рассылал его после окончания университета, когда устраивался стажером. Тогда я откликался на все вакансии, в которых встречал слово "Java". Это письмо - боль.
Оригинал
Доброго времени суток!
Заинтересовала Ваша компания! Рассматриваете ли Вы выпускников ВУЗов на должности стажера/Java Junior? Готов пройти собеседование с начальником IT-отдела.
Дмитрий, номер телефона.
Что в нем не так
Письмо шаблонное. Видно, что его рассылали многим компаниям. Автор не потрудился указать название организации. Нет информации о себе. "Здравствуйте!" читается приятнее, чем "Доброго времени суток!". "Ваша", "Вы" не нужно писать с заглавной. Вместо вопроса нужно кратко описать свой опыт, который подходит для конкретной вакансии.
Завтра напишу о том, как правильно составить сопроводительное.
Нашёл на headhunter'е своё старое сопроводительное письмо. Я рассылал его после окончания университета, когда устраивался стажером. Тогда я откликался на все вакансии, в которых встречал слово "Java". Это письмо - боль.
Оригинал
Доброго времени суток!
Заинтересовала Ваша компания! Рассматриваете ли Вы выпускников ВУЗов на должности стажера/Java Junior? Готов пройти собеседование с начальником IT-отдела.
Дмитрий, номер телефона.
Что в нем не так
Письмо шаблонное. Видно, что его рассылали многим компаниям. Автор не потрудился указать название организации. Нет информации о себе. "Здравствуйте!" читается приятнее, чем "Доброго времени суток!". "Ваша", "Вы" не нужно писать с заглавной. Вместо вопроса нужно кратко описать свой опыт, который подходит для конкретной вакансии.
Завтра напишу о том, как правильно составить сопроводительное.
Как писать сопроводительное письмо
Пишите адресно. Приятнее видеть Хочу работать в компании "Инновационные технологии", чем шаблонное Заинтересовала ваша вакансия
Укажите свои плюсы. Кратко опишите свои достижения. То, чем гордитесь. Можно приложить ссылку на репозиторий.
Пишите по делу. Не нужно рассказывать, что в школе вам нравилась математика. Напишите как использовали технологии, которые требуются в вакансии.
Говорите об ограничениях. Но с готовностью решить их. Если не знаете ключевой фреймворк, который указана в вакансии, то напишите об этом и покажите, что быстро изучите его. Например так. Я не работал со Spring, но прошёл курс на Udemy и написал приложение PetShop.
Не надейтесь на оффер. Отошлите сопроводительное и забудьте о нем. У HR может быть миллион причин не отвечать вам. Может компания тестирует, сколько людей откликнутся на вакансию. А может вы слишком хороши для неё.
Пишите адресно. Приятнее видеть Хочу работать в компании "Инновационные технологии", чем шаблонное Заинтересовала ваша вакансия
Укажите свои плюсы. Кратко опишите свои достижения. То, чем гордитесь. Можно приложить ссылку на репозиторий.
Пишите по делу. Не нужно рассказывать, что в школе вам нравилась математика. Напишите как использовали технологии, которые требуются в вакансии.
Говорите об ограничениях. Но с готовностью решить их. Если не знаете ключевой фреймворк, который указана в вакансии, то напишите об этом и покажите, что быстро изучите его. Например так. Я не работал со Spring, но прошёл курс на Udemy и написал приложение PetShop.
Не надейтесь на оффер. Отошлите сопроводительное и забудьте о нем. У HR может быть миллион причин не отвечать вам. Может компания тестирует, сколько людей откликнутся на вакансию. А может вы слишком хороши для неё.
Как откликнуться на вакансию мечты
Хорошая статья Максима Ильяхова о поиске работы https://megaplan.ru/letters/get-a-job. Примеры взяты про редакторов. Но статья будет полезна всем, кто захочет когда-нибудь пойти на собеседование. Вы узнаете, как правильно читать требования вакансии и откликаться на неё.
Хорошая статья Максима Ильяхова о поиске работы https://megaplan.ru/letters/get-a-job. Примеры взяты про редакторов. Но статья будет полезна всем, кто захочет когда-нибудь пойти на собеседование. Вы узнаете, как правильно читать требования вакансии и откликаться на неё.
Вопросы с собеседований по SQL
— что такое SQL
— какие виды связей бывают
— перечислить виды джоинов
— как используется ключевое слово having
— что такое ACID
— какие есть нормальные формы
— когда может понадобиться денормализация БД
— для чего нужны уровни изоляции
— какие феномены чтения бывают
— что такое SQL
— какие виды связей бывают
— перечислить виды джоинов
— как используется ключевое слово having
— что такое ACID
— какие есть нормальные формы
— когда может понадобиться денормализация БД
— для чего нужны уровни изоляции
— какие феномены чтения бывают
Книга по многопоточке
Если хотите прокачаться в многопоточке, то прочитайте Java Concurrency in Practice. В ней найдете основные концепции, которые актуальны и сейчас. Авторы книги - разработчики Java. Один из них, Даг Ли – создатель пакета java.util.concurrent. Книга на английском, но читается легко. Все примеры кода советую перепечатывать в Идее.
#книги
Если хотите прокачаться в многопоточке, то прочитайте Java Concurrency in Practice. В ней найдете основные концепции, которые актуальны и сейчас. Авторы книги - разработчики Java. Один из них, Даг Ли – создатель пакета java.util.concurrent. Книга на английском, но читается легко. Все примеры кода советую перепечатывать в Идее.
#книги
Вопросы по многопоточке
100 вопросов с ответами по Java Concurrency
https://github.com/arteam/100-Java-Concurrency-questions
100 вопросов с ответами по Java Concurrency
https://github.com/arteam/100-Java-Concurrency-questions
Почему не стоит работать в банке
Недавно кинули пост, в котором разработчик объясняет, почему его не интересуют вакансии в банковской сфере. Вот эти причины:
1. Банковская сфера - это уныло. Весь банковский софт - это либо типичный энтерпрайз со счетами, транзакциями, отчётами и т. п., либо торговля на бирже, сводящаяся к извращённым техникам написания одних и тех же алгоритмов с целью обойти конкурентов.
2. Отсутствие простора для творчества. Это вам не продукт, где я как программист могу сам придумывать и реализовывать фичи, и не социальная сеть, где на миллионах пользователей можно в режиме реального времени провести какое-нибудь исследование.
3. Правила, ограничения и бюрократия. Даже если айтишникам в банке, действительно, вольготней, чем остальному персоналу, не бывает такого, что в многотысячной компании какой-то отдел живёт совсем по своим правилам. Многоуровневый менеджмент, корпоративные политики и т. п. - так или иначе всё равно есть; об атмосфере стартапа можно забыть. Важный фактор, что в банке всё измеряется деньгами, а это неизбежно приводит к характерному стилю менеджмента.
4. Офис. Для меня, к примеру, офис - второй дом. Помимо работы в комфортных условиях я там завтракаю и обедаю, отмечаю праздники, играю в игры, занимаюсь спортом, участвую в семинарах и т. д. В интернете немало прикольных статей на тему "офисы IT компаний". Покажите что-нибудь похожее про офисы банков!
5. Что делает банковский софт? Помогает банку зарабатывать деньги. Только и всего! А я не хочу тратить свою жизнь на то, чтобы писать софт, просто помогающий другим наживаться. В этом смысле даже работа на заводе привлекательней: ведь там производятся реальные блага для человечества. А я хочу делать мир лучше. Совершенствовать сети и протоколы связи, давать людям новые способы общения, улучшать алгоритмы хранения, передачи и поиска информации, автоматизировать повседневную деятельность, разрабатывать открытые решения, которые принесут пользу не только нашей компании, но и другим.
6. Наконец, инновации. Я хочу работать в компании, которая не только использует передовые технологии, но и сама двигает IT индустрию вперёд. Творить будущее. Это делают именно IT компании, банки лишь пользуются плодами их изобретений.
#компании #банки
Недавно кинули пост, в котором разработчик объясняет, почему его не интересуют вакансии в банковской сфере. Вот эти причины:
1. Банковская сфера - это уныло. Весь банковский софт - это либо типичный энтерпрайз со счетами, транзакциями, отчётами и т. п., либо торговля на бирже, сводящаяся к извращённым техникам написания одних и тех же алгоритмов с целью обойти конкурентов.
2. Отсутствие простора для творчества. Это вам не продукт, где я как программист могу сам придумывать и реализовывать фичи, и не социальная сеть, где на миллионах пользователей можно в режиме реального времени провести какое-нибудь исследование.
3. Правила, ограничения и бюрократия. Даже если айтишникам в банке, действительно, вольготней, чем остальному персоналу, не бывает такого, что в многотысячной компании какой-то отдел живёт совсем по своим правилам. Многоуровневый менеджмент, корпоративные политики и т. п. - так или иначе всё равно есть; об атмосфере стартапа можно забыть. Важный фактор, что в банке всё измеряется деньгами, а это неизбежно приводит к характерному стилю менеджмента.
4. Офис. Для меня, к примеру, офис - второй дом. Помимо работы в комфортных условиях я там завтракаю и обедаю, отмечаю праздники, играю в игры, занимаюсь спортом, участвую в семинарах и т. д. В интернете немало прикольных статей на тему "офисы IT компаний". Покажите что-нибудь похожее про офисы банков!
5. Что делает банковский софт? Помогает банку зарабатывать деньги. Только и всего! А я не хочу тратить свою жизнь на то, чтобы писать софт, просто помогающий другим наживаться. В этом смысле даже работа на заводе привлекательней: ведь там производятся реальные блага для человечества. А я хочу делать мир лучше. Совершенствовать сети и протоколы связи, давать людям новые способы общения, улучшать алгоритмы хранения, передачи и поиска информации, автоматизировать повседневную деятельность, разрабатывать открытые решения, которые принесут пользу не только нашей компании, но и другим.
6. Наконец, инновации. Я хочу работать в компании, которая не только использует передовые технологии, но и сама двигает IT индустрию вперёд. Творить будущее. Это делают именно IT компании, банки лишь пользуются плодами их изобретений.
#компании #банки
О работе в банках
Предыдущий пост спорный, поэтому поделюсь своими мыслями. Я не работал в банке, но по рассказам коллег сложилось следующее впечатление. Банк - бездушная неповоротливая корпорация, где любое решение принимается очень медленно. Часто на проекте разработчики используют старые технологии, а ресурсы на рефакторинг начальство не выделяет.
Есть и новые проекты, где программисты работают с современным стеком и решают интересные задачи. На такие проекты сложно попасть и тяжело на них работать.
Итог. Для первой работы банк - гуд. Главное, чтобы были сильные коллеги, у которых можно учиться. Кто на опыте, кропотливее относитесь к выбору проекта.
#компании #банки
Предыдущий пост спорный, поэтому поделюсь своими мыслями. Я не работал в банке, но по рассказам коллег сложилось следующее впечатление. Банк - бездушная неповоротливая корпорация, где любое решение принимается очень медленно. Часто на проекте разработчики используют старые технологии, а ресурсы на рефакторинг начальство не выделяет.
Есть и новые проекты, где программисты работают с современным стеком и решают интересные задачи. На такие проекты сложно попасть и тяжело на них работать.
Итог. Для первой работы банк - гуд. Главное, чтобы были сильные коллеги, у которых можно учиться. Кто на опыте, кропотливее относитесь к выбору проекта.
#компании #банки
Евгений Трифонов прислал статьи про банковские офисы. Сбербанк - https://vc.ru/21118-sber-new-office, Альфа-банк - https://habr.com/company/alfa/blog/233291/, Тинькофф - https://rb.ru/story/atmosfera-tinkoff/
А тут https://habr.com/company/dbtc/blog/319784/ Дев Менеджер рассказывает, как он работает в Дойче Банке. Про легаси код, опытных коллег и дальнейший рост.
#компании #банки #офисы
А тут https://habr.com/company/dbtc/blog/319784/ Дев Менеджер рассказывает, как он работает в Дойче Банке. Про легаси код, опытных коллег и дальнейший рост.
#компании #банки #офисы
vc.ru
Штаб-квартира: Новый московский офис «Сбербанка»
В Москве открылся новый офис «Сбербанка», в который переезжает часть сотрудников банка и его «дочки» — компании «Сбербанк-Технологии». Фотографиями поделилась архитектурная студия IND Office, занимавшаяся проектированием и дизайном помещений.