Я провожу собеседования с мая этого года. Прошло более 4 месяцев до и после. Я провел интервью с десятками компаний, в том числе с десятками небольших стартапов и сотнями компаний, зарегистрированных на бирже. Я наступил на многих людей. Пит, я наконец получил предложение от Baoneng Group, и я решил пойти сюда.
Я видел много других людей, которые делились опытом интервью, здесь я также делюсь некоторыми интервью.
предисловие
Прежде всего, как правило, ненадежно просить заранее принести свое резюме, особенно для небольших компаний, которым требуется собственное резюме, как правило, HR не профессионален, не хочет распечатывать свое резюме заранее или не хочет потратьте несколько листов формата А4 для вас, так что такая компания может пройти напрямую, если у вас особенно не хватает предложений, будет трудно выжить.
Во-вторых, можно заранее поинтересоваться, как проходит собеседование с HR, сейчас многие компании отменили письменный тест. Общеизвестно, что никто не контролирует вас на письменном тесте, поэтому вы можете взять свой мобильный телефон (хотя я этого не делал, но я видел, как это делают другие люди на собеседовании), так что я не думаю, что письменный тест делает многое. Если есть компания, которая явно хочет сначала пройти письменный тест, затем пройти письменный тест, а затем провести собеседование, и вы не проходите собеседование на новую должность выпускника, вы должны быть осторожны, сначала учтите, что прошлые собеседования компании не являются далеко, и зайдите на сайт заранее, чтобы увидеть соответствующую оценку, а затем подумайте, стоит ли идти на собеседование. У меня было два собеседования до этого, оба из которых требовали письменного теста.Если я провалил письменный тест, последующего собеседования не было (некоторые вопросы интервью были очень глупыми, как показано на картинке ниже), и туда и обратно было относительно долго, что потратило мое время впустую все утро.
подготовка к интервью
Во время собеседования 99,99% компаний попросят вас представиться и рассказать о недавнем проекте, поэтому представление и проект нужно подготовить заранее, особенно если вы не очень хорошо говорите.
Самостоятельное введение
Я думаю, что лучше быть кратким.Как правило, интервьюер воспользуется вашим представлением о себе, чтобы просмотреть ваше резюме и не слушать внимательно ваше представление о себе.
Вот мой собственный черновик:
Здравствуйте, интервьюер, для меня большая честь участвовать в этом интервью с вашей компанией. Позвольте мне кратко представить мою личную ситуацию.Меня зовут Лин Сяо.Я закончил колледж ххх в хх в хх. В настоящее время работаю в компании ххх, в основном занимаюсь ххх разработкой. Я следил за информацией о найме вашей компании через платформу набора xxx.Эта позиция больше соответствует моему будущему развитию карьеры, и бизнес вашей компании очень привлекателен для меня.Я очень надеюсь войти в вашу компанию для развития.
У меня большой интерес к технологиям, широкие профессиональные знания, относительно всеобъемлющие технологии, сильное чувство ответственности, ясное мышление, хорошие коммуникативные навыки, знакомство с системой JAVA, Для различных процессов разработки и основных шаблонов архитектуры, шаблонов проектирования и UML, иметь сильный анализ требований, дизайн архитектуры, возможности управления проектами и иметь богатый практический опыт; Стремясь к инженерной культуре, во время управления командой НИОКР я пробовал различные методы, чтобы создать благоприятную атмосферу в команде и эффективно повысить эффективность НИОКР; Технология поддерживает продукты, поэтому я также знаком с процессом проектирования продукта.Я надеюсь объединить стратегию развития компании и маркетинговую стратегию и следовать за командой, чтобы создать хороший продукт.
Вышеизложенное можно соответствующим образом упростить, сколько вы сможете сказать, зависит от вашей памяти.
Введение в проект
Это действительно необходимо, чтобы подготовить свою речь заранее, иначе вы будете говорить, думая во время интервью, и вы будете спотыкаться, когда говорите, и ваше первое впечатление на интервьюера будет плохим, по крайней мере, это показывает, что ваши навыки презентации не сильный.
Если вы представляете проект, вам не нужно слишком нервничать.Сколько времени требуется интервьюеру, чтобы получить ваше резюме, поэтому вы должны быть максимально знакомы со своим собственным проектом. Следует отметить, что нельзя просто говорить о каких-то вещах, связанных с бизнесом. Интервьюеру это знать не обязательно. Его интересует только достаточно ли у вас технических возможностей. вопросы, основанные на связанных технологиях.
Опубликуйте мой черновик:
Система xx, которую я сделал в компании xx, клиенты в основном xx, функции проекта в основном заключаются в предоставлении таких услуг, как агентский зонтик, агентский экспресс, заказ еды в агентстве, выдача книг и т. д. Основная структура, используемая в фоновом режиме, Spring Cloud, а модули микросервиса делятся на xxx, я в основном отвечаю за разработку нескольких модулей xxx.Mybatis используется для формы, mysql используется для базы данных, redis используется для кеша, а технология vue используется в стойка регистрации. Всего в разработке участвовало xx коллег, а весь проект длился xx раз.
Интервьюер будет задавать вопросы о его интересах.
Проблемы, возникшие в проекте
Напоминает сочинение, которое я часто писал в начальной школе: самое запоминающееся. Это действительно глупо, я не ожидал, что знания, полученные в начальной школе, пригодятся сейчас.
Проблемы, возникающие в проекте, на самом деле не являются проблемами после их решения. Перечислю несколько пунктов для справки:
- перекрестный домен
- Идемпотентность планирования задач
- Проблемы с mq
- Транзакционные проблемы в распределенных системах
- проблема с переполнением памяти
Конечно, в конце концов, вам все равно нужно иметь солидные профессиональные навыки, чтобы получать стабильный поток предложений.
опыт собеседования
Далее я поделюсь некоторыми интервью компаний за это время.
Тэньюн Исян
Дочерняя компания Tencent Cloud, находящаяся в полной собственности, на самом деле является аутсорсинговой компанией Tencent Cloud.
- Какие индексы есть в базе
- Принцип Springboot, как добиться автоматической сборки
- После того, как springboot упакован в банку, как он может не переупаковать и не изменить файл конфигурации свойств?
- Делали ли вы настройку jvm, какие параметры можно настроить и как настроить
На первом собеседовании смущало то, что мне в принципе не звонили, я только отвечал по принципу springboot, да еще и просил пройти на собеседование в HR для подтверждения этой позиции, я отказался.
Научно-исследовательский институт науки и технологий Лейжи
Компания, зарегистрированная на бирже, первоначально называвшаяся Jianyan Group, занимается проектами, связанными со строительством.
-
Какие аннотации SpringBoot вы использовали?
- @component, @service, @controller, @controlleradvice, @Repository
- @Autowired, @Inject, @Resource, @Qualifier, обычно @Resource используется отдельно, @Qualifier будет использоваться вместе с @Autowired
- @dependsOn
- @Конфигурация, @bean, @ComponentScan,
- @Аспект, @PointCut,
- @Scope, @PostConstruct, @PreDestory
-
Spring's Bean по умолчанию является одноэлементным или несколькими экземплярами. Что, если я захочу изменить его на несколько экземпляров?
-
В проекте используется Rabbitmq, какие проблемы возникают при использовании
-
Как решить повторное потребление rabbitmq, есть ли другой способ, кроме проверки записей в базе данных
-
Как реализовать распределенные блокировки и как решить взаимоблокировки в реализации Redis
Я: реализация базы данных, реализация Redis, реализация zookeeper. redis плюс время истечения
-
Как реализован индекс mysql и каковы характеристики индекса btree
-
Теперь есть индекс объединения (A, B). У меня есть оператор sql, который
выберите xxx из xxx, где A=xxx будет использовать индекс
Выберите xxx из xxx, где B=xxx будет использовать индекс, почему это самый левый принцип соответствия
-
Какие интерфейсы реализует ArrayList
Говоря о List, Cloneable, Serializable, я думаю, он хотел спросить об интерфейсе RandomAccess, но в то время он не ответил на этот вопрос.
-
Как сделать оптимизацию кода
-
Как nginx настраивает балансировку нагрузки
-
Как пользоваться замком, по какому принципу
-
Бинарный метод поиска, временная сложность
Я не думаю, что ответил очень хорошо, но я был удивлен, когда на следующий день получил приглашение на повторный экзамен.
На переэкзаменовке я задал ряд вопросов личностного теста, а затем директор проекта пришел взять у меня интервью и спросил об аспирантуре, почему школа была хорошей, или почему я закончил специализацию, и почему я поступил на работу в аспирантуру. небольшая компания после окончания учебы. Потом я спросил о своем текущем уровне должности, а потом начал хвалить их компанию.
Затем было интервью с техническим директором, который не стал спрашивать о технологиях, а спросил о ситуации в его семье и планах на будущее, а затем сказал, что он пришел из Huawei, компания внедряет волчью культуру, и часты сверхурочные. Дело идет, он сказал, что зарплата будет не выше, чем в моей предыдущей компании, но будущее развитие их компании точно будет очень хорошим. Мне было немного не по себе, поэтому я просто вздохнул, а потом он сказал, что я был более пессимистичным и вздохнул. Присоединение к компании повлияет на других людей. Ему нужен тот, кто всегда оптимистичен и может привнести жизненную силу в команду.
Я совершенно глуп.
Юго-Западный Кеа
Дочерняя компания China Civil Aviation является государственным предприятием.
Во-первых, за день до начала необходимо выполнить набор письменных тестовых вопросов онлайн.Независимо от того, пройдете вы или нет, на собеседование придется идти на следующий день.
В основном связанные с проектом, деловые вещи требуют гораздо большего
Оптимизация кода
оптимизация mysql
JVM-модель памяти
Какие компоненты есть у весеннего облака, чтобы говорить о механизме взрывателя
Зачем уходить из предыдущей компании
Это не сложно, но без предложения мой менталитет рухнул.
Технология Руян
Что касается распознавания лиц, то оно похоже на продукты, которые производила моя предыдущая компания.
-
Принцип хэш-карты
-
Принцип ConcurrentHashMap, почему такая хорошая производительность в условиях многопоточности
Я говорил об оптимизации синхронизации в 1.6, а он говорил о детализации блокировок.
-
связанный с проектом
-
Оптимизация кода
-
оптимизация mysql
-
Как реализовать весенний аоп
-
Объем данных, собираемых каждый день, относительно велик. Вы делали подтаблицы подбазы данных?
Я использую shardingjdbc и mycat, малые и средние компании обычно используют shardingjdbc.
-
Принцип реализации Rabbitmq
понятия не имею
Последние двое не ответили, поэтому продолжения нет.
Энергетическая технология Little Dolphin
Эта компания должна искать полный стек.В начале они задали мне несколько вопросов, связанных с интерфейсом.Я был сразу ошеломлен, и, конечно же, никаких последующих действий не последовало.
-
Какие фреймворки вы использовали jquery?
-
Вы знакомы с синтаксисом es6?
-
Какие компоненты использует vue
-
Какие аннотации использует Spring
-
При использовании внедрения @autowired, если существует несколько реализаций этого интерфейса, как указать, какую реализацию внедрять
-
Создавала ли eureka кластер?
-
Оптимизация MySQL, когда индекс не будет использоваться
-
выберите *, что может привести к отсутствию индексации
-
За where стоит операция функции, что приводит к отсутствию индексации
-
Индексы не подходят для неявного преобразования.Например, ваш SELECT * FROM T WHERE Y = 5 имеет индекс для Y, но столбец Y имеет значение VARCHAR2, тогда Oracle выполнит неявное преобразование для вышеуказанного 5, SELECT * FROM T WHERE TO_NUMBER(Y) = 5, также возможно, что в это время индекс не будет использоваться.
-
Подобные запросы начинаются с подстановочных знаков и не используют индексы.
Но похоже, это не те ответы, которые ему нужны, и я не могу угадать. .
-
-
Принимаете ли вы долгосрочные командировки?
Открытые Финансы
Что касается интернет-финансирования, штаб-квартира компании находится в Пекине. Когда я проходил собеседование, я был в банковской компании Xinwang в Чэнду. Эта модель должна быть разработана на месте, но сама компания не использует аутсорсинг.
- Разница между springboot и spring
- Функция Springboot, как добиться автоматической сборки
- Какие компоненты используются весной, конкретные сценарии
- Является ли Spring одноэлементным или несколькими экземплярами по умолчанию, в чем проблема с глобальными переменными?
- Поведение распространения транзакций Spring, уровень изоляции
- Реализация AOP, разница между динамическим прокси jdk и динамическим прокси cglib
- Несколько способов использования лямбда-выражений jdk, взять максимальное и минимальное значения, преобразовать список в карту, что делать, если в списке есть дубликаты
- Каковы параметры пула потоков и значение каждого параметра
- Каковы преимущества контейнера ioc
- стек jvm, разница, общий поток или частный поток
- Компоненты Springcloud, использование и несколько алгоритмов балансировки нагрузки
- Как делать распределенные транзакции
- Mybatis один ко многим, как сделать многие ко многим
- Разница между jpa и mybatis
- Что делает команда vmstat
- Команда Redis для просмотра использования памяти
- Как оптимизировать импорт больших объемов данных в mysql
- mysql имеет взаимоблокировку данных, как устранить проблему, взаимоблокировка таблицы mysql, как устранить неполадки
- Что такое обратный прокси nginx, прямой прокси?
Собеседование прошло очень хорошо, HR тоже несколько раз звонил и говорил, что интервьюер очень заинтересовался мной, но работа была лютая как тигр, а зарплата была 0,9 когда спрашивали. И я все еще был на работе в то время, и меня попросили побыть там неделю, но я не пришел.
Павильон орхидей
Я зарубежная компания электронной коммерции, но после того, как я поступил, я занимался небольшой разработкой системы. Вопросы, которые я задавал, немного напоминали школьный рекрутинг. Как новый выпускник, я мог бы ответить на них.
- Вы видели исходный код фреймворка с открытым исходным кодом, принцип автоматической сборки SpringBoot
- Напишите пузырь, напишите одноэлементный шаблон
- Как mybatis и jdbc предотвращают внедрение sql
- Что такое принцип единственной ответственности и принцип замены лжи?
- Что такое 3НФ
- Интерфейс определяет переменную, область действия по умолчанию для этой переменной
- Есть ли набор микросервисов?
- Как линукс смотрит на процесс java, есть ли еще команды кроме jps и top?
- Какую книгу я недавно читал?Я ответил про многопоточный параллелизм.Он:Это бесполезно,это полезно только если это используется в проекте
- Какие технологии вы изучаете в последнее время? docker, он: бесполезный, очень простой, не нужно учиться
- Есть таблица отделов, как спроектировать ее поля, чтобы получить все подотделы под отделом, какие еще существуют методы, кроме рекурсии? Добавьте поле кода и запросите префикс отдела, например
Jingdong Logistics (принесите свое резюме)
Друг толкнул его внутрь, и я слышал, что он стабилен, и я мог пройти его, подойдя к забою, но он все равно перевернулся.
-
Опишите характеристики java, что означает полиморфизм инкапсуляции наследования?
-
Разница между синхронизацией и блокировкой
-
Как добиться потокобезопасности ConcurrentHashMap
-
Несколько способов создания потоков, значение нескольких параметров для создания пулов потоков и стратегия насыщения потоков
-
Разница между сном и ожиданием
-
Является ли Spring единственным экземпляром или несколькими экземплярами, и какие проблемы возникнут с многопоточным параллелизмом?
-
Как SpringBoot решает кроссдоменность, как его настроить
-
Как ловить глобальные исключения
-
Разделение внешнего и внутреннего интерфейса Spring Security, как войти в систему
Я: перехватите URL-адрес входа, затем получите имя пользователя и пароль и передайте имя пользователя и пароль менеджеру, которые будут переданы конкретному провайдеру для обработки, а провайдер вызовет метод UserDetailsService для завершения проверки.
Вот моя ошибка, он получил логин и пароль через getattribute, я сказал да.
-
Как спроектировать безопасный внешний интерфейс
-
Почему однопоточный Redis такой быстрый?
-
Метод сохранения Redis
-
Что такое кластеризованный индекс и что такое некластеризованный индекс
-
уровень изоляции транзакций mysql
-
Как вы думаете, вы можете взять на себя задачу инди-разработки?
На другие вопросы ответили очень хорошо, и я чувствовал себя хорошо. Я думал, что могу получить предложение, но мой друг сказал, что интервьюер думал, что я недостаточно хорош, чтобы взять на себя задачу самостоятельной разработки системы. что на 8-й вопрос был дан неправильный ответ.Остальное я думаю, что у меня нет проблем с ответом.
Преподаватель сетевых технологий
Есть много интервьюеров, так что это групповое интервью, и один интервьюер соответствует нескольким интервьюерам. Хотя я ответил намного лучше, чем другой собеседник, но я не получил предложение, я был очень и очень смущен.
- Представьте проект, а затем в основном расскажите о бизнесе проекта.
- Какой тип используется для расчета суммы, и какой тип используется для хранения в базе данных
- Как SpringBoot настраивает аннотации
- Оптимизация MySQL, когда подобный запрос, объем данных очень большой, если подобный запрос начинается с %, он не будет проходить через индекс, как оптимизировать. Как оптимизировать запрос ассоциации с несколькими таблицами
- Как выполняется оптимизация кода и где вы обычно рассматриваете рефакторинг?
Большие данные Haikang Transportation
Дочерняя компания Haikang в основном выпускает статистические отчеты с данными на большом экране, связанными с движением транспортных средств и т. Д. Интервьюер и я, старшеклассник школы, спросили меня, какой учитель учил меня в начале, что меня шокировало, хахахаха, я подумал Позор учителю.
- Принцип HashMap, базовая структура, разница между 1.7 и 1.8, метод вставки головы или метод вставки хвоста, является ли он потокобезопасным?
- Где блокировка, добавленная в ConcurentHashMap, разница между 1.7 и 1.8, сегмент, используемый в 1.7, и синхронизация, используемая в 1.8
- Разница между блокировкой и синхронизацией, какая оптимизация была сделана для синхронизации после 1.6
- Как достигаются смещенные блокировки и облегченные блокировки?Я ответил, что у каждого объекта есть заголовок объекта, и отметка, сделанная в заголовке объекта, и тогда он спросил меня, какая информация находится в заголовке объекта
- Разница между списком и массивом, в каком будет утечка памяти, а какой быстрее при запросе. Я думаю, что запрос такой же быстрый, потому что список изначально представляет собой массив внизу
- Расскажите о различных параметрах пула потоков и о том, каков принцип. Какой пул потоков вы используете и почему?
- Какие очереди существуют и какие очереди вы обычно используете в своем пуле потоков?
- Как Spring решает циклические зависимости
- Разница между динамическим прокси jdk и cglib, который быстрее, вы видели файлы байт-кода, которые они генерируют
- Какие облачные компоненты использовались, каков принцип фузинга hystrix и что еще есть, кроме пула потоков. Предохранитель имеет полуоткрытое состояние, что толку
Процесс довольно приятный, но зарплата и лечение не на месте, а жаль.
Xidian Technology (принесите свое резюме)
В компании, производящей совместные повербанки, интервьюером был старшеклассник из той же школы, что и я, но он не дал мне воды, поэтому очень разозлился.
проблема:
- весенний жизненный цикл
- Существует несколько способов создания пула потоков
- жизненный цикл нити
- принцип эврики
- Разница между блокировкой и синхронизацией
- Есть таблица с сотнями миллионов данных, как написать оптимизацию запроса подкачки SQL
- Существует несколько стратегий устранения памяти Redis.
- Даббо знаком?
- Грязное чтение, фантомное чтение, неповторяемое чтение, как решить
- Вы понимаете, что jquery пузырится?
Наконец, я попросил некоторые предложения, связанные с обучением, и я получил много.
Ухань Байцзюньчэн
Аутсорсинговые компании, проект для Ping An, телефонные интервью и аутсорсинг — всем нравится этот метод.
- Какие шаблоны проектирования используются
- Как сделать оптимизацию кода
- Разница между био и нио
- Какие компоненты использует springcloud
- Оптимизация MySQL, вы сделали оптимизацию sql от нескольких секунд до десятков миллисекунд?
- Насколько параллелен проект
- Что такое Принцип замещения лжи?
- tcp/ip-протокол
- Как оптимизировать производительность
Аутсорсинг — это непросто, но я не получил предложения.
Облачный код жилищного союза Чэнду
- Что вы думаете о одноэлементном шаблоне, напишите одноэлементный шаблон с обнаружением двойной блокировки
- Разница между строкой, построителем строк и строковым буфером
- Разница между массивом и связанным списком
- Разница между базовой структурой hashmap1.7 и 1.8
- Разница между хэш-картой и хэш-таблицей
- жизненный цикл нити
- Поведение распространения транзакций Spring, лежащий в основе принцип реализации
- Несколько способов объявить бины
- Является ли Spring одним экземпляром или несколькими экземплярами по умолчанию, как реализовать несколько экземпляров
- процесс springmvc
- JVM-модель памяти
- Разница между блокировкой и синхронизацией, самая большая разница
- Оптимизация кода и оптимизация SQL
- Распределенная, как решить сессию
- Преимущества редис
- Как обеспечить безопасность внешнего интерфейса, только шифрования подписи md5 недостаточно, есть ли другой способ?
- Есть функциональный модуль, как вы распределите время, что делать, если есть срочная задача, которую невозможно выполнить
- как ты обычно учишься
После собеседования я спросил про ожидаемую зарплату, а потом второй раз записался на прием, и вкратце спросил про проект и как я обычно учусь. Три стороны - это сторона hr, и они прислали мне предложение.
Прокатить интервью
Если у вас будет возможность взять интервью у других в будущем, я надеюсь, что вы будете больше уважать интервьюера.
- Подготовьтесь заранее в соответствии с вашим резюме и задайте разные вопросы для разных уровней
- Не задавайте диковинных вопросов
- Все вопросы связаны с собеседованием
Ниже приведены некоторые переходящие интервью.
Совместное творчество (принесите свое резюме)
Компания очень маленькая, интервьюер не маленький, и весь процесс собеседования очень неприятный, он часто перебивает меня посреди речи, что довольно саркастично. Во время интервью не было места, и интервью проводилось на улице в коридоре возле лифта.
-
Поскольку мой проект был связан с камерами распознавания лиц, он затем спросил меня, как проходил процесс обработки изображения для распознавания алгоритма.Я напрямую настроил алгоритм и в лучшем случае преобразовал изображение формата jpg в формат bgr, или изображение было повернуто, через exif исправляет поворот. Но мой ответ кажется не таким, как он хочет, и тут он прямо перебивает меня, говоря, что я не знаю, просто скажи, что я не знаю
-
Какие шаблоны проектирования использует rabbitmq. Есть ли что-нибудь еще о модели публикации-подписки? Я не знаю. Кто знает, может мне сказать.
-
tcp/ip-протокол
-
Позвольте вам спроектировать эврику, как вы спроектируете
-
Оптимистичный замок, введение пессимистического замка
я: оптимистичная блокировка на самом деле не блокируется
Потом он прямо прервал меня, усмехнулся и спросил: «Как ты думаешь, что такое замок?»
-
Как сделать настройку параметров jvm
Я ответил, что используется развертывание микросервисов. К некоторым микросервисам обращаются часто, поэтому настройте для них больше памяти, например шлюзы. Для некоторых из них, которые не используются очень часто, вы можете установить их на немного меньший размер. Затем он сказал: «Вы просто подстраиваете это, основываясь на своих чувствах.
Эй, после встречи лицом к лицу мое настроение было намного хуже, мне было некомфортно целый день, и я начал сомневаться в себе.
Coresoft Technology (принесите свое резюме)
Босс напрямую нанял зарегистрированную компанию, которая была рекламирована.Когда я пошел на собеседование, я увидел не более 5 человек в компании.Офис был очень пустым и тихим.
-
Введение в проект
-
Выберите модуль, который вы сделали в проекте, и расскажите обо всем дизайне этого модуля.
Я действительно не знаю, как на это ответить. Вы сказали, как проектировался весь проект. Я также могу нарисовать архитектурную схему, чтобы вы могли видеть. Но когда вы говорите о конструкции конкретного модуля, я не знаю, как сказать это.В лучшем случае я вам расскажу.Как устроена база данных
-
Параллелизм проекта
Вы все еще спрашиваете меня о размере вашей компании, не так ли?
-
Я слышал, что вы знакомы с linux, создавали ли вы среду (например, tomcat) и сталкивались ли вы с какими-либо проблемами?
Окружение стало техническим моментом, который нужно задать, так или иначе, сейчас я использую докер.
-
Что вы обычно делаете с nginx и для чего обычно используется прямой прокси?
-
Фронтенд знаете, расскажите про vue, упакованный с историей и развёрнутый на сервер, что нужно настроить с помощью nginx
-
расскажи о своих сильных сторонах
-
Если вы очень устали от сверхурочной работы в последнее время (вы уже очень устали, скоро умрете), но проект срочный, как вы общаетесь с руководителем, если хотите отпроситься.
Guangdong Century Network Communication Equipment Co., Ltd. (принесите свое резюме)
Я впервые вижу брата, который задает такой вопрос.Это довольно свежо, и это те вопросы, которые другие компании повторяют снова и снова. Это просто пустая трата моего резюме, печатать по доллару за раз, а ты все еще строчишь в моем резюме, мне стыдно его возвращать.
-
В чем смысл сериализации и десериализации в java В чем польза сгенерированного serialVersionUID
-
В файле yml есть некоторые атрибуты, как получить эти атрибуты
-
Есть класс перечисления с множеством значений и кодов, а потом атрибуту в yml соответствует значение этого кода, как через значение кода получить соответствующее значение
Я хотел поговорить о круговом суждении, но подумал, что это не так просто, поэтому долго молчал. . . .
Затем он сказал, что в классе enum есть метод valueOf
Ах, он не ясно выразился или я неправильно понял?
-
Что делает final, если есть final Stirng a = "123", можно ли его потом изменить?
-
Как правило, операция ввода-вывода перехватывает исключение, а затем освобождает ресурс в улове.Есть ли более простой способ?
-
Есть список, отсортируйте его по свойству в классе
-
Есть массив строк с пустыми значениями в нем, хочу удалить пустые, как это сделать
-
На линии есть медленный интерфейс, но локальная тестовая среда такая же, как онлайн-среда, и объем данных такой же, но скорость интерфейса высокая. как проверить
понятия не имею
Юго-западный научно-исследовательский институт железных дорог Китая
После интервью со многими семьями впервые его семья потеряла дар речи о том, что я спросила.Это было интервью по телефону.
-
Наследование и полиморфизм в java, как использовать наследование в проекте
Как это использовать в проекте не знаю как ответить
-
Поговорим о дженериках
Дженерики предоставляют механизм обнаружения безопасности типа компиляции, этот механизм может быть обнаружен при компиляционном времени его незаконно, чтобы избежать исключения времени выполнения преобразования типа. Он может не захотеть отвечать? Я не знаю, что он хотел спросить, он сказал забыть следующий вопрос.
-
Паттерны проектирования, рассказ о том, как реализованы простой фабричный шаблон и абстрактный фабричный шаблон, разница
Я не знаю, как описать его реализацию, и не знаю, сможете ли вы ее продиктовать. Мои языковые навыки очень плохи
-
Новые возможности java8, рассказ о том, какие вещи в потоке использовались
-
оптимизация mysql
После долгих разговоров, а затем утверждения о том, что операции SQL должны максимально использовать предварительно скомпилированные операторы,
Он сказал: Разве mybatis не решен. . . Привет
-
Как использовать его в проекте Redis
Роль состоит в том, чтобы поддерживать высокую производительность и параллелизм, а затем объяснять, как использовать это в проекте.
Он: Одним предложением: Разве это не только для кэширования?
Tongjia Youbo (принесите свое резюме)
Посидев в машине два часа, я поехал на собеседование на первое часовое собеседование, изучил основную ситуацию, а потом исчез.
Я все же отпросился и забрал машину на 2 часа.HR прислал мне приглашение на собеседование, не зная моей основной информации заранее.Потом я пришел на собеседование и почувствовал, что не подхожу, поэтому технического собеседования не было.
Вернуться к пустому обмену
Это то, о чем я упоминал в начале: объявления о вакансиях на рекрутинговом сайте есть круглый год, по крайней мере, в течение почти года. В прошлом я сначала отвечал на набор письменных тестовых вопросов, набирая 100 баллов и проходной балл 60. Если бы я провалился, дальнейших действий не было бы.
Облачные бизнес-технологии Huiyou
То же самое можно сделать с набором письменных тестовых вопросов без последующих действий. Потому что я нашел проблему с вопросом и оставил его пустым.
Технология Guoxin Jieyun
Накануне у меня было собеседование по телефону, после чего я представился, задал несколько технических вопросов, а на следующий день отправился на площадку, чтобы пройти собеседование на месте.
На месте происшествия не более 10 человек на всю компанию, я хотел уйти, но думал, что они пришли, так что можно зайти и посидеть. Это оказалось самым печальным решением, которое я когда-либо принимал.
Весь опыт собеседования очень плохой, официальная линия интервью состоит в том, чтобы представиться, я уже представился по телефону заранее, я не знаю, что это значит, я получил несколько телефонов в середине интервью. Тогда спрашивайте как его оформлять, как передать фронт пароль, открытый текст все равно шифруется, я сказал, что фронтенд шифрование не надо, плюс https, он сказал, что добавление https бесполезно, просто хочу зашифровать, я Когда я думаю о нем, он сказал, что это интервью. Пожалуйста, уважайте это интервью (говоря, я должен быть злым, мне неловко), я не могу этого вынести, я получил это напрямую.
Вопросы-Ответы
тюнинг jvm
Я не думаю, что это то, что может сделать разработчик среднего уровня или даже старший разработчик, но интервью заключается в том, чтобы спросить. Чтобы проверить свою память наизусть, просто запомните несколько часто используемых конфигураций.
настройка размера кучи
- -Xms: начальный размер кучи
- -Xmx: максимальный размер кучи
- -XX:NewSize=n: установить размер молодого поколения
- -XX:NewRatio=n: установить соотношение молодого поколения к старому. Например, это 3, что означает, что соотношение молодого поколения к старому составляет 1:3, а молодое поколение составляет 1/4 от суммы молодого поколения и старого поколения.
- -XX:SurvivorRatio=n: отношение площади Эдема к двум областям выживших в молодом поколении. Обратите внимание, что в области выживших их два. Например: 3 означает Эдем: Выживший=3:2, область Выживших занимает 1/5 всего молодого поколения.
Настройки коллектора
- -XX:+UseSerialGC: установить серийный сборщик
- -XX:+UseParallelGC: установить параллельный сборщик
- -XX:+UseParalledlOldGC: Установить параллельный коллектор старого поколения
- -XX:+UseConcMarkSweepGC: Установить параллельный сборщик
Сводка по настройке
Выбор молодого поколения
Приложения с приоритетом времени отклика: установите как можно большее, пока оно не приблизится к минимальному ограничению времени отклика системы (выбирается в соответствии с фактическими условиями). При этом частота сборов молодого поколения также минимальна. В то же время уменьшите объекты, которые достигают старого поколения. Приложения, которые отдают приоритет пропускной способности: Установите максимально возможное значение, возможно, достигнув уровня Гбит. Поскольку время отклика не требуется, сборка мусора может выполняться параллельно, что обычно подходит для приложений с более чем 8 ЦП.
выбор старого поколения
Приложения с приоритетом времени отклика: в старом поколении используются параллельные сборщики, поэтому его размер необходимо задавать тщательно, как правило, с учетом некоторых параметров, таких как скорость параллельного сеанса и продолжительность сеанса. Если параметр кучи мал, это может привести к фрагментации памяти, высокой частоте сбора и приостановке работы приложения, а также к использованию традиционного метода пометки и очистки; если куча большая, сбор займет много времени.
Оптимизация кода
Он разделен на три измерения, о которых можно поговорить, которые можно немного расширить:
- Для оптимизации общего фреймворка сделайте некоторые разделения по обязанностям модулей (классов) и постарайтесь сделать интерфейс каждого модуля максимально понятным. Затем необходимо правильно использовать шесть принципов проектирования и 24 шаблона проектирования.
- Оптимизация функциональной логики разделяет связную логику на функции, а данные, от которых зависит функция, передаются через параметры, чтобы функцию можно было использовать повторно.При изменении верхней структуры количество модифицированного кода не будет слишком большим. .
- Оптимизация производительности, если производительность не чувствительна и код не так уж и плох, то эту оптимизацию можно проигнорировать.
Шесть принципов дизайна
-
Принцип единой ответственности
Единая ответственность интерфейса, одна ответственность за один интерфейс, мы публикуем интерфейс, а не класс реализации, поэтому нам не нужно слишком беспокоиться о том, следует ли класс реализации единой ответственности, и наложение единой ответственности вызовет резкое увеличение классов, что приносит много в содержание.
-
Принцип замещения в стиле Ли
Пока может появляться родительский класс, может появляться и подкласс, а вызов подкласса не приводит к ошибкам или исключениям. Но обратное неверно: там, где есть подклассы, родительский класс может быть не в состоянии адаптироваться. Принцип замены в стиле Ли содержит четыре значения:
- Подклассы должны полностью реализовывать методы суперкласса. Мы часто пишем сервис для определения интерфейса или абстрактного класса, а затем пишем реализацию, и вызывающий класс напрямую переходит в интерфейс или абстрактный класс, Фактически здесь использовалось правило подстановки Лискова.
- Подклассы могут иметь свои собственные личности. Конечно, подклассы могут иметь свое поведение и внешний вид, то есть методы и свойства.Там, где появляются подклассы, родительский класс может быть некомпетентен. Понижение родительского класса может вызвать исключение преобразования типа
- Входные параметры могут быть увеличены при переопределении или реализации методов родительского класса.
- Способ переопределения или реализации родительского класса заключается в том, что выходные данные могут быть минимизированы.
-
Принцип инверсии зависимости
Суть принципа инверсии зависимостей заключается в том, чтобы внести реализацию каждого класса или модуля, независимой друг от друга через абстракцию (интерфейс или абстрактный класс), не затрагивая друг друга и для достижения свободного муфта между модулями. Мы используем этот принцип в наших проектах, чтобы следовать следующим правилам:
Каждый класс должен иметь интерфейс или абстрактный класс, насколько это возможно, или и абстрактный класс, и интерфейс.
Поверхностный тип переменной должен быть интерфейсом или абстрактным классом, насколько это возможно.
Ни один класс не должен быть производным от конкретного класса
Старайтесь не переопределять методы базового класса
-
Принцип разделения интерфейса
Клиент не должен полагаться на интерфейсы, которые ему не нужны. Клиент должен предоставить любой интерфейс, который ему нужен, удалить ненужные интерфейсы и уточнить интерфейс, чтобы обеспечить его чистоту. С точки зрения непрофессионала: создавайте единый интерфейс, не создавайте раздутый интерфейс.
-
Закон Деметры
Объект должен иметь наименьшие знания о других объектах.С точки зрения непрофессионала, класс должен знать наименьшие сведения о классе, который ему нужно связать/вызвать.Для меня не имеет значения, насколько сложен и запутан класс. Старайтесь не публиковать слишком много общедоступных методов и нестатических общедоступных переменных, старайтесь быть ограниченным и используйте больше прав доступа, таких как закрытый, закрытый для пакета и защищенный.
-
принцип открыто-закрыто
Классы и методы открыты для расширения и закрыты для модификации.Когда программу необходимо расширить, исходный код не может быть изменен.
24 шаблона проектирования
одноэлементный шаблон
заводской узор
режим строителя
Шаблон наблюдателя
Есть наблюдатели и наблюдаемые, наблюдаемый интерфейс: добавить наблюдателей, удалить наблюдателей, уведомить наблюдателей об обновлении Наблюдатель: Наблюдатель отправил сообщение, я должен сделать что-то сам
Модель цепочки ответственности
режим адаптера
оптимизация mysql
Девять из десяти компаний спросят, это надо помнить. В принципе, пока вы помните, что я написал, интервью в основном стабильно:
- Оптимизация дизайна таблиц базы данных
- Все таблицы должны использовать механизм хранения Innodb.
- Набор символов использует utf-8 единообразно
- поле аннотировано
- Контролируйте размер объема данных одной таблицы, рекомендуется контролировать его в пределах 500w
- Разделите горячие и холодные данные, уменьшите ширину таблицы
- Запрещено хранить бинарные данные, такие как изображения, файлы и т. д.
- три парадигмы
- Оптимизация дизайна поля базы данных
- Приоритет отдается типу данных, удовлетворяющему наименьшим условиям хранения, если можно использовать tinyint, то int не используется, а varchar можно использовать без текста.
- Избегайте использования текстовых типов данных и типов данных blob.
- Определить все столбцы как ненулевые, насколько это возможно
- Оптимизация дизайна индекса
- Ограничьте количество индексов на таблицу, не более 5 для одной таблицы.
- Не создавайте отдельный индекс для каждого столбца
- Каждая таблица должна иметь первичный ключ
- Индексировать часто запрашиваемые поля
- написать оптимизацию sql
- Подготовленные операторы рекомендуются для операций с базой данных.
- Избегайте неявных преобразований типов данных
- Полное использование существующих индексов в таблице
- Не используйте запрос select *, используйте запрос select
- Избегайте использования подзапросов и оптимизируйте подзапросы в операциях соединения
- Избегайте использования объединений для связывания слишком большого количества таблиц.
- При выполнении или оценке того же столбца используйте in вместо или
- Преобразования функций и вычисления в столбцах запрещены в предложениях where.
- Используйте union all вместо union, когда ясно, что повторяющихся значений не будет.
- Разделить сложный большой SQL на несколько маленьких SQL
- Использование группы по запросу группировки после группировки по умолчанию также будет отсортировано, что может замедлить скорость.Добавление порядка по нулю после группировки может помешать сортировке.
JVM-модель памяти
Обязательные вопросы, найдите время, чтобы взглянуть на глубокое понимание виртуальной машины jvm.
Суммировать
Собеседование и работа — две разные вещи: те, кто не прошел собеседование, не обязательно могут быть менее способными, чем вы, а те, кто прошел собеседование, могут оказаться не более способными, чем вы. Так что не расстраивайтесь, если не пройдете собеседование, вернитесь назад и подведите итоги обзора, не теряйте боевой дух из-за неудачи, давай!