предисловие
Многие друзья недостаточно знают об интервью, не знают, как подготовиться, и недостаточно знают об обстановке и цели интервью, поэтому вероятность успеха невысока. При нормальных обстоятельствах вероятность успеха собеседования при поступлении в школу составляет менее 1%, а вероятность успеха собеседования по социальному набору также составляет менее 5%, поэтому кандидаты должны знать первоначальное намерение организовать собеседование и значение каждой ссылки. , так что они могут быть нацелены ...
Посредством анализа JD на месте в Интернете интервьюируемый может понять технические требования и позиционирование аналитической компании, а затем узнать, подходят ли они для должности и как подготовиться. Если вы хотите повысить процент успешных собеседований, вы должны понять бизнес компании, проанализировать соответствующий бизнес-сайт компании, чтобы понять, какой технологический стек они используют, а затем подготовить соответствующие знания.Последний раздел посвящен самопредставлению.Большинство неудачных собеседований резюме и самопрезентация, в результате чего большинство людей не знают об этом. .
Вторая и третья стороны больше сосредоточены на глубине и широте знаний Java.Эта ссылка больше не ограничивается базовыми знаниями, а больше касается исходного кода и реальных боевых действий проекта.
Основы и рамки
1. Можно ли наследовать класс String и почему?
2. В чем разница между String, Stringbuffer, StringBuilder?
3. В чем разница между ArrayList и LinkedList
4. Порядок создания экземпляров классов, таких как статические данные родительского класса, конструкторы, поля, статические данные подкласса, конструкторы, поля и порядок их выполнения.
5. В чем разница между используемыми картами, является ли HashMap потокобезопасным, какие карты используются в параллелизме и каковы их внутренние принципы, такие как хэш-код, расширение емкости и т. д.
6. Почему получение и установка в HashMap происходит так быстро и почему параллельный HashMap может улучшить параллелизм
7. Разница между абстрактным классом и интерфейсом: может ли класс наследовать несколько классов, может ли интерфейс наследовать несколько интерфейсов и может ли класс реализовывать несколько интерфейсов?
8. При каких обстоятельствах может произойти переполнение памяти стека?
9. Что такое нио, принцип
10. В отражении разница между Class.forName и ClassLoader
11. структура tomcat, процесс загрузки классов
12. Поговорите о свойствах распространения транзакций Spring, принципе АОП, разнице между реализацией динамического прокси и cglib и о том, какие существуют методы реализации АОП.
13. Разница между beanFactory Spring и factoryBean
14. Процесс нагружения пружины
15. Как Spring управляет транзакциями
Многопоточность
1. Каково максимальное количество потоков в линейном городском пуле?
2. Несколько реализаций многопоточности, что такое потокобезопасность и что такое переупорядочивание
3. Принцип и функция энергозависимой, может ли она заменить замки?
4. Отличие сна от ожидания и принцип реализации ожидания
5. Разница между блокировкой и синхронизацией, принцип синхронизации, что такое спин-блокировка, предвзятая блокировка, облегченная блокировка, что такое реентерабельная блокировка, что такое справедливая блокировка и нечестная блокировка
6. Какие атомарные классы использовались, каковы их параметры и принципы?
7. Какие пулы потоков использовались, кратко изложены их принципы, значение каждого параметра конструктора, такого как coreSize, maxsize и т.д.
8. Есть сторонний интерфейс, и много потоков для вызова для получения данных.Теперь оговорено, что максимум 10 потоков могут вызывать его одновременно в секунду.Как это сделать.
9. Контроллер Spring — это один экземпляр или несколько экземпляров, как обеспечить безопасность параллелизма
10. Используйте три потока для последовательной печати трех букв abc, например abcabcabc.
11. Использовали ли вы ThreadLocal, каков принцип и на что следует обратить внимание при его использовании?
12. Если бы вас попросили реализовать защищенный от параллелизма связанный список, что бы вы сделали?
связанные с JVM
1. Что такое полный процесс GC (от ygc до fgc) в jvm, с акцентом на то, как продвигаются объекты до старости, несколько основных параметров jvm и т.д.
2. Какие виды сборщиков мусора вы знаете, их преимущества и недостатки, ориентируйтесь на cms
3. Что делать при переполнении памяти?
4. Что вы знаете о модели памяти JVM?
5. Кратко расскажите об известном вам загрузчике классов
6. Механизм отражения JAVA
Интернет
1. В чем разница между http1.0 и http1.1
2. В процессе трехэтапного рукопожатия TCP и четырехсторонней волны, почему для разрыва соединения требуется 4 раза?Если будет только два рукопожатия, что произойдет?
3. Разница между TIME_WAIT и CLOSE_WAIT
4. Расскажите о нескольких известных вам кодах ответов HTTP
5. Когда вы открываете ссылку в браузере, какие действия выполняет компьютер?
6. В Linux существует несколько моделей ввода-вывода, и каково их значение?
7. Как протокол TCP/IP обеспечивает надежность и какие компоненты данных содержатся в пакетах данных?
Архитектура Дизайн и Распределение
1. Как настроить tomcat, значение различных параметров
2. Каковы общие стратегии кэширования, какая система кэширования используется в вашем проекте, как ее спроектировать, на что обратить внимание при использовании Redis, метод персистентности, настройка памяти, кластеризация, стратегия исключения и т. д.
3. Как предотвратить лавину кеша
4. Самостоятельно реализовать LRU в java
5. Как добиться уникального серийного номера в распределенном кластере
6. Разработайте систему seckill для автоматического закрытия транзакции без оплаты в течение 30 минут.
7. Как сделать распределенную блокировку
8. Какие MQ вы использовали, как вы используете, каковы преимущества и недостатки по сравнению с другими MQ, и являются ли соединения MQ потокобезопасными?
9. Как сделать так, чтобы данные системы MQ не были потеряны
10. Принцип распределенных транзакций, как использовать распределенные транзакции
11. Что такое непротиворечивый хэш
12. Что успокаивает, говорите о успокоении вы понимаете
13. Как спроектировать, установить и поддерживать 100-ваттное соединение?
14. Объясните, что такое протокол MESI (когерентность кеша)
15. Расскажите о нескольких известных вам HASH-алгоритмах.
16. Что такое алгоритм paxos
17. Разница между управлением памятью у redis и memcached
18. Система онлайн-документов, документы можно редактировать, как предотвратить одновременное редактирование и обновление одного и того же документа несколькими людьми.
алгоритм
1. Найдите наименьшие 10 из 1 миллиарда чисел.
2. Есть 100 миллионов чисел, 2 из которых повторяются, найди быстро, время и пространство оптимальны
3. 200 миллионов случайно сгенерированных неупорядоченных целых чисел, найти значение среднего размера
4. Пройдите по бинарному дереву
база данных
1. Каковы уровни изоляции базы данных, каково их значение, каков уровень изоляции по умолчанию для MYsql, а также преимущества и недостатки каждого механизма хранения.
2. В условиях высокого параллелизма, как безопасно изменить одну и ту же строку данных, что такое оптимистичные блокировки и пессимистические блокировки, какие два типа блокировок на уровне строк в INNODB и объяснить их значения
3. Каковы общие этапы оптимизации SQL, как посмотреть план выполнения, как понять значение каждого поля и принцип индексации?
4. Будет ли взаимоблокировка базы данных?Приведите пример взаимоблокировки.Как mysql решает взаимоблокировку?
5. Реализация индекса MYsql
6. Разница между кластеризованным индексом и некластеризованным индексом
7. Разница между BTREE и B+tree в базе данных
Лично я считаю, что собеседование — это совершенно новое путешествие, где неудачи и победы — это нормально. Поэтому советую не унывать и терять боевой дух из-за неудачных собеседований. Не успокаивайтесь только потому, что вы прошли собеседование, вас ждет лучшее будущее, продолжайте в том же духе!
Вопросы для собеседования по Java в 2019 году составили более 1000 документов в формате PDF на более чем 400 страницах.Приглашаю всех обратить на меня вниманиеГонг Чжунхао [Программист в погоне за ветром], в нем будут обновляться статьи, а также размещаться в нем собранная информация.
В ответ на вопросы, заданные в приведенном выше интервью, я обобщил большинство вопросов и ответов, связанных с интервью с Java-программистами в интернет-компаниях. Я подготовил документы и материалы по архитектуре, чтобы поделиться с вами. Надеюсь, это поможет. помочь вам перед собеседованием Просмотрите и найдите хорошую работу, а также сэкономьте всем время на поиск информации в Интернете, чтобы учиться.
Наконец
Приветствую всех, чтобы общаться вместе, это не просто организовать информацию, я надеюсь, что статья не забудет обратить на меня внимание и поставить лайк, спасибо за вашу поддержку!