Аутсорсинговое интервью для читателей cxuan

Java задняя часть

Сначала я планировал пройти собеседование в аутсорсинговой компании, чтобы освежить опыт.После того, как опыт будет почти таким же, я пойду в Сторону А, чтобы попробовать.К сожалению, это не гладко..

1. Макс (30 минут интервью)

  1. Самостоятельное введение

  2. Левое соединение (таблица слева присоединяется к таблице b, все данные в таблице выходят, а данные в таблице b пусты)

  3. Таблица a остается подключенной к таблице b, таблица b остается подключенной к таблице c, а таблица c остается подключенной к таблице a, что это за данные эти данные (блогер немного запутался в время, отвечая на полное соединение, все данные выйдут...)

  4. sql: У студентов в классе есть два поля, одно поле называется score, другое поле называется именем группы, всего 4 группы, узнайте первое место в каждой группе, как написать sql

select group_name,max(score) from table group by group_name order by group_name

5. Какие есть механизмы баз данных (myIsam, InnoDB и т. д.)

  1. Разница между myIsam и Inno DB (InnoDB поддерживает транзакции, внешние ключи, аварийное восстановление, блокировки на уровне строк InnoDB, блокировки на уровне таблиц myIsam)

  2. Преимущества myIsam (блогер вспомнил только о преимуществах InnoDB в то время, но интервьюер спросил о преимуществах myIsam, который работает быстро и занимает меньше места на диске)

  3. Две функции Spring (IOC и aop, какие шаблоны проектирования используются в этих двух функциях)

  4. Контейнеры, коллекции java

  5. Реализация hashmap (массив + связанный список + красно-черное дерево)

在这里插入图片描述

  1. Ставим ключ и значение, как определить индекс массива, если два ключа ставятся на одну позицию, что делать? (Рассчитать хеш-значение по ключу, определить индекс по хешу и т. д.)

  2. Является ли HashMap потокобезопасным? Какие есть реализации? (Нет, потокобезопасный может использовать хеш-таблицу, concurrentHashMap и т. д.)

  3. Как concurrentHashMap обеспечивает безопасность потоков? конкретная реализация? Как два потока помещают два ключа одновременно?

(1.7 массив + связанный список, блокировка сегмента, 1.8 массив + связанный список + красно-черное дерево, cas+синхронизировано)

  1. Как сортировка коллекций Java (сортировка в потоке) реализована внутри? Каков принцип? О каких видах вы узнали?

(Сравнительный и КомпараторСсылка на ссылку)

  1. группировка коллекции java (groupingby(object::property))

  2. Функциональные методы (интерфейсы), при каких условиях их можно использовать? Это относится ко всем? Или есть определенные ограничения?

  3. Фоновые запросы относительно медленные, в чем основная причина? Фоновый запрос прям завис, как исправить, а лог не пишет об ошибке? (Проверьте медленный sql, который требует много операций)

  4. Как проверить журнал блокировки и журнал потоков? (не знаю этого)

  5. Общие пулы потоков, что это за пулы потоков? (newCachedThreadPool, newFixedThreadPool, newScheduledThreadPool, newSingleThreadExecutor, сейчас 6 пулов потоков, точно не помню)

  6. java-блокировки и вкратце поговорим о блокировках, именах классов, ключевых словах, реализациях блокировок и т. д.

在这里插入图片描述

  1. Вы использовали кеш Google guava? (Не используется)

  2. Каковы сложности реализации проекта и как вы это сделали? (ответ по вашей ситуации)

2. Технология Кинни (Сторона А)

В прошлом интервью было 8 часов вечера в пятницу.

Одна сторона: час (менее 10 минут)

Простое представление о себе, какие требования к технике и зарплате, причины смены работы, оцените себя, компания много работает сверхурочно, спросите, можете ли вы это принять

Вторая сторона: технология (менее 20 минут, ответ немного скудный)

  1. Разница между симметричным шифрованием и асимметричным шифрованием

  2. Атаки с использованием междоменных сценариев (о некоторых я не слышал)

  3. Уровень изоляции базы данных (чтение не зафиксировано, чтение зафиксировано, повторяемое чтение, сериализовано)

  4. Что такое неповторяемые чтения и фантомные чтения? (a многократно считывает одни и те же данные, b изменяет данные, а считывает их снова, что является неповторяемым чтением; a изменяет некоторые данные, b вставляет часть данных, a обнаруживает, что есть еще одна часть данных. что не было изменено, то это фантомное чтение)

  5. Что такое тупик? причина? Как это решить (соревнование за один и тот же ресурс, четыре условия, уничтожение четырех условий, на этот вопрос нет хорошего ответа)

  6. ЦП сервера 100%, как проверить (ps для просмотра процесса, ответ не очень, все-таки исследований в этой области нет. Хотя компания тоже сталкивалась со 100% ЦП, решение - бан функция mrp, которая требует много вычислений. Удалите ее, добавьте память позже, добавьте сервер. Я не могу сказать правду об этом)

  7. Для чего можно использовать nginx (балансировка нагрузки, обратный прокси, интервьюер продолжает спрашивать что еще, не знаю что, я сказал может перехватывать ip и т.д.)

  8. что такое кас? (Реализация оптимистической блокировки вызовет проблему aba, добавьте номер версии или отметку времени)

  9. Механизм сохраняемости Redis, преимущества и недостатки rdb и aof (полное резервное копирование данных, низкий уровень безопасности, длительный интервал резервного копирования; инкрементное резервное копирование данных, безопасность данных, большой размер файла)

  10. Spring асинхронная аннотация (не используется)

在这里插入图片描述

  1. Расскажите о механизме загрузки классов

  2. Разница между утечкой памяти и переполнением памяти

  3. Я задавал другие вопросы, я не помню

  4. Расскажите о проекте, как вы это сделали

3. Osa Medicine (Сторона А, интервью длилось около 35 минут)

Я увидел девушку и спросил дорогу, такая хорошенькая

После входа заполните информацию, заполните информацию и задайте вопросы

  1. Общие движки mysql, различия (InnoDB: поддерживает транзакции, внешние ключи, блокировки строк, поддерживает восстановление после сбоя, интервьюер также спросил, почему это можно восстановить. Myisam: блокировка таблицы, полнотекстовый индекс)

  2. Каковы оптимизации sql, часто используемые индексы (какие поля запрашиваются, не используйте «%» после *, null, как и т. д.)

  3. Каков процесс выполнения оператора sql? Как анализировать объяснить

  4. Если есть данные 100w, я хочу данные после 600 000-й строки, как это оптимизировать (использовать лимит, добавить индекс, интервьюер слишком извращен, очень медленно спрашивает, что делать)

  5. Что такое Redis и почему он более популярен, чем mongodb? (Нереляционная БД, на основе памяти и т.п., почему она популярна, этого я не знаю, потому что не знаю mongodb)

  6. Что такое нереляционная база данных и чем она отличается от реляционной базы данных? (не правильно ответил)

  7. Помимо памяти и высокой скорости чтения, какие еще причины делают Redis быстрым? (не правильно ответил)

  8. Часто используемые типы данных, сценарии применения (String, List, Set, Zset, Hash, интервьюер спросил, почему, ммм, это просто пощечина)

  9. Механизм персистентности, разница между rdb и aof, как выбрать какой механизм (полный и инкрементальный, время резервного копирования, безопасность данных и т.д., сейчас есть гибридный механизм)

  10. Каковы стратегии исключения (ответил на просроченную стратегию, напомнил интервьюер)

在这里插入图片描述
  1. Почему Redis может выполнять операции самоинкремента и самодекремента над строкой (я этого не знаю)

  2. Как оптимизировать редис? (понятия не имею)

  3. Каковы обычно используемые коллекции в java? (список, набор, карта, класс реализации)

  4. Разница между arrayList и linkedList (структура данных, скорость чтения и добавления и удаления, поточно-ориентированное копирование onwriteArrayList)

  5. Я хочу вставить сотни тысяч данных в arrayList, каков метод оптимизации? (Я действительно не знаю этого)

  6. Базовая структура hashmap, процесс ввода? Зачем добавлять красные и черные цифры? Можно ли использовать красно-черные деревья для всех построек? (Массив + связанный список + красно-черное дерево, вычислить хэш по ключу, вычислить индекс по хэшу, присвоить значение, если индекс равен нулю, если он не равен нулю, выполнить обход, чтобы определить, что хэш-код равен, и т. д. 1.7 использовать вставку головы, 1.8 использовать вставку хвоста, добавить Красно-черное дерево стабильно и эффективно, сложность запроса массива по времени o(1), степень репликации времени добавления и удаления связанного списка o(1), и красно-черное дерево равно o(log n).черное дерево)

  7. Структура concurrenthashmap (блокировка сегмента 1.7, синхронизация 1.8cas+)

  8. Разница между синхронизацией и блокировкой

  9. Разница между hashtable и concurrenthashmap (другая структура, hashtable блокирует весь объект и метод)

  10. Какие существуют блокировки Java? Класс реализации? что такое кас? что такое акс? (Оптимистичный и пессимистичный, справедливый и несправедливый, только сказал ReentrantLock, затем интервьюер спросил, что еще? cas, реализация оптимистичной блокировки вызовет проблему aba, добавьте номер версии или временную метку. aqs - это структура блокировки)

在这里插入图片描述

  1. Как использовать пул потоков, часто используемые параметры? (используя ThreadPoolExecutor, основные потоки, максимальное количество потоков, время, очередь, фабрику потоков, политику отклонения)

  2. Если есть 50 задач для выполнения, 5 основных потоков, 10 максимальных потоков и 10 очередей задач, каков процесс и каков статус? Как использовать стратегию отклонения для избыточных задач (создать 5 основных потоков, поставить 10 в очередь, когда очередь заполнится, создать 10 неосновных потоков, остальные 25 определяются в соответствии со стратегией отклонения, и сообщается об исключении по умолчанию, а остальные три: Либо игнорировать, либо отдать самый ранний поток, либо использовать поток для выполнения) (позже я узнал, что ответ был неверным, 10 потоков максимум, 5 ядер + 5 не-ядер, а остальные 30 следуйте стратегии отказа)

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

4. Kingdee Software (Сторона А, интервью в течение 40 минут)

  1. Задают много вопросов по проекту, как спроектировать функцию, как спроектировать базу данных

  2. Разница между левым соединением, правым соединением и внутренним соединением

  3. план выполнения mysql, что посмотреть

  4. Процесс выполнения Springmvc, от внешнего интерфейса к внутреннему и обратно к внешнему интерфейсу.

  5. Проверка разрешения, как сделать проверку

  6. Блокировки базы данных (оптимистические блокировки, пессимистические блокировки, эксклюзивные блокировки, общие блокировки)

  7. Каким замкам соответствует выбор, обновление, удаление?

  8. система сбора java (список, набор, карта)

  9. На что обратить внимание при удалении элементов в arraylist

  10. Является ли потокобезопасным arraylist (нет, потокобезопасным: vector, copyonwritearraylist)

在这里插入图片描述

  1. Когда использовать arraylist, linkedList (частые добавления и удаления используют linkedList)

  2. глубокая копия и мелкая копия

  3. передача по значению и передача по ссылке

  4. многопоточность, пул потоков

  5. Как работает синхронизация ресурсов?

  6. Может ли синхронизация изменять статические классы?

  7. В чем разница между блокировкой и синхронизацией? Как бы вы выбрали

  8. Как вы обычно учитесь (смотрите уроки, читайте блоги)

  9. Каков твой план? (Планирование микросервисов, распределенных и т. д.)

  10. В чем технические преимущества

在这里插入图片描述

  1. Как оптимизировать и рефакторить код (единая ответственность, совместное использование и т. д.)

  2. Как вы оптимизируете свой сайт для повышения производительности? (добавьте CDN, добавьте Redis)

  3. Что ты хочешь у меня спросить? Какие технологии вы там используете? Интервьюер: Технологический стек представляет собой фреймворк инкапсуляции, в нем нет внешнего интерфейса, он использует компоненты перетаскивания или что-то в этом роде, микросервис — это даббо, база данных — это оракул, основное внимание уделяется бизнесу, а технология — второстепенна.

В конце концов, интервьюер сказал: "Есть четыре раунда интервью. Пожалуйста, обсудите это с директором после интервью (оставшиеся три раунда не являются техническими)

5. Ping An Bank (аутсорсинг, собеседование в течение 40 минут и, наконец, из-за чего-то прервано)

  1. принцип запуска spirngboot (встроенный tomcat....)

  2. Аннотация запуска (приложение Springboot)

  3. конфигурация ядра SpringBoot

  4. Способ настройки файла (yml, properties)

  5. Рабочий процесс springmvc

  6. Компоненты SpringMVC

  7. Роль @RequestMapping (перехватывать URL)

  8. Весенние часто используемые модули, ядро

  9. Разговор о ioc и aop

  10. Весенние обычно используемые методы впрыска

在这里插入图片描述

  1. Вы знаете о весенней фасоли?

  2. Реализация весенней транзакции

  3. изоляция весны

  4. Уровень изоляции базы данных (чтение незафиксированного, чтение зафиксированного, повторяемое чтение, сериализованное)

  5. Влияние уровней изоляции (грязные чтения, неповторяемые чтения, фантомные чтения)

  6. Атомарность, долговечность (неделимость, сохранение в базу данных)

  7. Разница между char и varchar (размер байта, '' и "") Интервьюер продолжает спрашивать, есть ли еще что-то. . .

  8. Разница между левым соединением и правым соединением

  9. sql как ты настроил

  10. план выполнения sql (объяснить)

在这里插入图片描述

  1. Блокировка строки SQL и блокировка таблицы, преимущества (блокировка строки и блокировка всей таблицы)

  2. оптимистическая блокировка, пессимистическая блокировка (номер версии, метка времени)

  3. Движок mysql, отличие (innodb поддерживает внешние ключи, блокировки строк, поддерживает восстановление после сбоя, myisam поддерживает полнотекстовое индексирование)

  4. выберите count(*) из таблицы, как выполняются данные, вызовет ли это полное сканирование таблицы (innodb не поддерживает полнотекстовый индекс, поэтому это вызовет полное сканирование таблицы в innodb)

  5. Сколько байтов памяти для float и double

  6. В таблице автоинкремента 6 кусков данных, два куска данных удаляются, и еще один кусок данных добавляется.Какой id у этого куска данных (innodb 7, myisam 5, а результат перевернуто)

  7. Сценарии использования Redis, отличие от memcache

  8. Постоянство redis (rdb и aof, полное, инкрементное)

  9. Узнайте о распределении Redis, количестве узлов и некоторых командах.

  10. Сценарий приложения nginx (разделение front-end и back-end, балансировка нагрузки)

在这里插入图片描述

  1. Стратегия балансировки нагрузки (циклический перебор, веса и т. д.)

  2. Как взаимодействуют фронтенд и бэкэнд

  3. Прямой прокси и обратный прокси

  4. Знаете ли вы что-нибудь о swagger (документация по интерфейсу)

  5. Разница между == и равным

  6. Вы понимаете стек?

  7. Разница между stringbuilder и stringbuffer (безопасность потоков, эффективность)

  8. потоки ввода-вывода (чтение и запись, входной поток и выходной поток)

  9. Разница между файловым входным потоком и буферным входным потоком

  10. Коллекция (список, набор, карта)

  11. Какие потокобезопасные коллекции (vector, copyonwritearraylist, hashtable, concurrenthashmap)

  12. Процесс реализации hashmap (головная заглушка 1.7, хвостовая заглушка 1.8)

  13. hashset и linkedhashset (базовая хэш-карта, упорядоченная, базовая хэш-карта, неупорядоченная)

  14. глубокая копия, мелкая копия

Время на расспросы почти 40 минут.Поскольку у меня еще есть работа, я прервал собеседование.В итоге второй тур собеседований пришелся на вечер.

在这里插入图片描述

Второй раунд интервью с Ping An Bank (26 минут)

  1. Запрос MySQL, есть много связанных таблиц, как оптимизировать (таблица плюс поля, соответствующая избыточность, менее связанные таблицы, не используйте *, in, null или % и т. д.)

  2. Аннулирование индекса (in, null или, % и т. д.)

  3. Обычно используемые классы коллекций (список, набор, карта и классы реализации)

  4. Какие есть потокобезопасные контейнеры (vector, copyonwritearraylist, hashtable, concurrenthashmap)

  5. Как concurrenthashmap обеспечивает безопасность потоков (1.7 использует блокировку сегментов, 16 заблокированы, 1.8 использует cas+syn)

  6. Структура данных hashmap (массив 1.7 + связанный список, многопоточность сформирует кольцо, cpu взлетит на 100%, массив 1.8 + связанный список + красно-черное дерево)

  7. При каких обстоятельствах он будет преобразован в красно-черное дерево (ключ, хэш, массив больше 64, связанный список больше 8, преобразован в красно-черное дерево)

  8. После перезаписи равенства вам все еще нужно переписать метод хэш-кода?

  9. Является ли связный список двусвязным?

  10. Структура данных Redis (строка, набор, набор сортировки, список, хэш, растровое изображение и т. д.)

在这里插入图片描述

  1. распределенная блокировка redis

  2. Вы понимаете дерево b+ (индекс mysql)

  3. Разбивка кеша (инвалидация кеша, не найдено в кеше, данные в базе данных)

  4. Решение (установить время аннулирования кеша случайным образом, разбить время или поставить отметку) (фактически, установить неограниченный срок действия данных точки доступа или добавить мьютекс и т. д.)

  5. Вы понимаете threadlocal? (Я не слышу четко произношения, это звучит как логотип, и я не слышу его после трехкратного прослушивания, а затем я реагирую на то, что он собирается сказать позже)

  6. Трудности, возникшие в проекте (функция mrp)

  7. Когда процессор сервера поднимается выше 90, вы все еще можете использовать многопоточность?

  8. Изучали ли вы какие-либо новые технологии в последнее время? (При изучении микросервисов)

  9. Компоненты, связанные с микросервисами, о которых некоторые не слышали (скажите, для чего они нужны)

  10. Знаете ли вы о zookeeper (распространено)

在这里插入图片描述

  1. Что такое утечки памяти?

  2. С профессиональной точки зрения + личность, оцените себя

  3. Каким вы хотите, чтобы был ваш проект? (Технология, технологическая атмосфера)

  4. Общие команды Linux (ls, cd, pwd, chmod, vi, где, найти двоичные файлы)

Интервьюер: Время прибытия относительно срочное, технологический стек — springboot+dubbo, кластер микросервисов, zookeeper+redis+mysql и т. д.

Оценка интервью: нет большой проблемы, надеюсь присоединиться в ближайшее время

конец

Не записаны JVM, микросервисы, распределенные и т. д. Сам не трогал, и забыл, когда услышал, и не успел написать. Есть также некоторые интервью, которые не записываются. Организация и запись интервью занимает много времени. Вышеуказанные в основном записывают технические интервью. Некоторые из интервью длились по 40 минут, расспрашивая о подробностях жизни, о каких хобби и блогах я писал раньше, помните? хх, ты помнишь, что писал? Откуда вы и будете ли вы в Шэньчжэне в будущем? Ошеломленный, продолжал просить больше 40 минут, может больше часа, если я не прерывал. Интервью с текущим счетом, подобное этому, на нем не написано.

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

Суммировать

Компания, которую я жду, относительно комфортна и стабильна, и ее можно рассматривать как теплицу.Бизнес относительно сложен (система ERP), структура проекта относительно проста, и один проект не был добавлен в кеш последним. год.Данных в одной таблице не более тысячи, а сейчас это 260 множественных таблиц. На данный момент 20 клиентов, процессор загружается до 90%, после чего сервер несколько раз падает. Позже наш технический директор решил отключить функцию (расчет MRP), а позже обнаружил, что это проблема с отчетом, ошибка oom, и изменил инструмент отчета. Через некоторое время добавьте память и добавьте серверы. (Микросервисы, распределенные приложения, кэширование, кластеризация и очереди сообщений не используются и не изучаются), и я выполнял некоторые сложные бизнес-функции и писал бизнес-код. Лучше уйти оттуда, где технологию нельзя улучшить раньше, хотя он мне мозги промыл, говоря, что бесполезно знать столько технологий, нельзя заниматься бизнесом, нельзя писать код, и неважно как многие технологии вы знаете, он равен нулю. Но я всегда в душе это отрицал, ведь я занимаюсь техникой, я могу понять основное дело, обсудить дело, а требования оставить руководителю проекта, и, наконец, организовать то, что я делаю. Если вы не пойдете по бизнес-маршруту, возьмите управление, разберитесь в технологиях и разберитесь в бизнесе. Не годится для дела учить пятерых подонок вроде меня.

Оригинальная ссылкаВу-Ву. В руинах нет следов.com/article/159…

Привет всем, я cxuan. Я написал четыре PDF-файла самостоятельно, а именно: «Сводка основ Java», «Сводка ядра HTTP», «Основы работы с компьютером» и «Сводка ядра операционной системы». Информация о качестве.