Сводка вопросов для интервью (Java Engineer 20190301)

интервью

написать впереди

Сегодня первое собеседование на месте, которое я посетил после того, как приехал в Ханчжоу в поисках работы, а также первое официальное техническое собеседование с тех пор, как я начал работать. Я очень нервничал! Два интервьюера, кажется, занимаются промежуточным программным обеспечением и программированием баз данных. Я не очень хорошо задаю много вопросов. После двух раундов резюме из четырех слов состоит в том, что любви к жизни нет. Подведите итоги по памяти сегодня, настройте свой менталитет и продолжайте путешествие!

сортировка проблем

1. Алгоритм

  1. Код реализует структуру данных бинарного дерева.
  2. Если бинарное дерево равно XX (одно нарисовано), каков предварительный обход? Как кодировать для достижения? (Напишите рекурсию) Какие еще есть реализации?

2. База данных

  1. Напишите операторы SQL. Есть таблица с тремя полями «имя», «предмет», «оценка», напишите запрос-оператор, чтобы узнать имена учеников не менее чем по трем предметам с баллом 90 и более.
  2. Есть две таблицы A и B, сколько результатов будет после соединения, как написать SQL?
  3. Что такое база данных три парадигмы?
  4. ЭР-схема.
  5. показатель.
  6. Что такое бизнес? Каковы характеристики транзакций и как их понимать? Каковы четыре уровня изоляции транзакций? Как понять? Что происходит с каждым из четырех уровней изоляции? Как мне выбрать?
  7. Что такое тупик? Ситуация, вызывающая тупик. Что такое четыре условия и как их понимать? Как бороться с тупиком?
  8. Если окажется, что оператор SQL-запроса выполняется долго, как мне устранить неполадки?
  9. Какой тип данных используется в поле цены в бизнесе?
  10. Принцип репликации master-slave базы данных? Зачем использовать репликацию master-slave и какую проблему она решает?
  11. Как реализованы блокировки базы данных.

3. Редис

  1. Постоянный способ
  2. Он однопоточный?
  3. Используете ли вы кластер Redis в своем проекте?

4. Ява

  1. Что такое ThreadLocal? Когда он решит существовать в ThreadLocal? Почему?
  2. Каковы способы обеспечения безопасности потоков?
  3. В чем разница между синхронизированным добавлением к статическим методам и нестатическим методам?
  4. Как закрыть заказ без оплаты в течение 30 минут после оформления заказа? (Я сказал задачи на время, интервьюер сказал, что есть и другие способы? Наверное, хотите спросить у класса Timer?)
  5. Что такое атомарная операция?
  6. Как обмениваться данными между потоками?
  7. Что такое CountDownLatch и CyclicBarrier?
  8. Разница между синхронизированным и ReentrantLock? ReentrantLock называется повторной блокировкой, что означает повторная блокировка?
  9. Какие коллекции есть в java?
  10. Когда использовать Array и когда использовать ArrayList?
  11. Механизм обработки исключений: взаимосвязь между Throwable, Exception и Error.

Пять, связанные с весной

  1. Что такое МОК?
  2. Жизненный цикл фасоли
  3. Если пакет jar слишком старый и нет библиотеки maven, как его использовать в springboot? (вероятно это и имелось в виду, но я не знаю)
  4. Что такое спрингбут? Зачем использовать спрингбут?

6. Другие

  1. Разница между трехуровневой архитектурой и архитектурой mvc.
  2. Когда вы идете по дороге и хотите сесть на автобус, но обнаруживаете, что автобус, на который вы хотите сесть, проезжает мимо вас, что вы будете делать? (Это головоломка? Черный вопросительный знак?)

Семь, пиковая сцена

  1. Как реализован распределенный сеанс?
  2. Как оптимизировать? Помимо шунтирования и добавления кеширования, какие еще есть идеи?
  3. проблема перепроданности

Восемь, планирование карьеры

  1. Каков ваш карьерный план?
  2. Как вы обычно улучшаете свои технические навыки?

Девять, различные проблемы по проекту в резюме

Суммировать

В дополнение к тому, чтобы спросить, что такое интервьюер, интервьюер хочет узнать больше о моем понимании, принципе реализации и практическом применении этого, и действительно раскрывает множество своих собственных проблем, и, наконец, это состояние, когда его спрашивают. Спокойно примите результаты и продолжайте усердно работать!