Вопросы по Java
1. Расскажи про HashSet и хеширование.
2. Что происходит, когда для двух объектов высчитывается одинаковый хеш-код? Как HashMap борется с коллизиями?
3. Создавал ли ты свою хэш-мапу? Расскажи про алгоритм получения значения из хэш-мапы.
4. Почему, если мы переопределили один из методов equals или hashCode, нужно переопределить и второй? Что пойдет не так, если этого не сделать?
5. Почему hashCode может совпасть?
6. Почему int имеет ограничение, а long нет?
7. Работал ли ты с многопоточностью в Java? Создавал ли треды, Runnable или Callable?
8. Что такое атомарные переменные?
9. Расскажи, как работает AtomicInteger под капотом. В какой последовательности вызываются его методы?