Привет, ребята! Массив — это самая фундаментальная структура данных, в которой элементы хранятся в непрерывной области памяти. Это также одна из любимых тем интервьюеров, и вы услышите много вопросов о массиве в любом собеседовании по кодированию, например, о обращении массива, сортировке массива или поиске элементов в массиве.
Ключевым преимуществом структуры данных массива является то, что она предлагает быстрый поиск O (1), если вы знаете индекс, но добавление и удаление элемента из массива происходит медленно, потому что вы не можете изменить размер массива после его создания.
Чтобы создать более короткий или более длинный массив, вам нужно создать новый массив и скопировать все элементы из старого в новый.
- Что должен знать каждый программист о массиве
- 20+ массивов вопросов из интервью по программированию
- Лучшие ресурсы для собеседований по программированию
- Теперь вы готовы к собеседованию по программированию
- Заключительные примечания
- P.S. — Если вам нужны БЕСПЛАТНЫЕ ресурсы, вы можете проверить этот список бесплатных курсов по структуре данных и алгоритмам, чтобы начать подготовку.
Что должен знать каждый программист о массиве
- Индекс массива начинается с 0, а не с 1.
- Массивы в основном представляют собой неизменяемую структуру данных, длина которой не может быть изменена после создания, изменяемый массив называется списком.
- Массиву требуется блок памяти для распределения, называемый последовательным расположением памяти, это означает, что даже если у вас есть память, вы не можете выделить большой массив, если память разбросана.
- Поиск по индексу в массиве — O (1), но вставить и удалить нелегко, потому что вам может потребоваться переупорядочить массив.
- Массив в основном представляет собой однородную структуру данных, это означает, что вы не можете хранить строку в целочисленном массиве и наоборот.
- Массив может быть одномерным или многомерным. Двумерный массив известен как Matrix и очень полезен в играх для создания 2D-мира с использованием плиток.
Ключом к решению вопросов, связанных с массивами, является хорошее знание структуры данных массива, а также базовых конструкторов программирования, таких как цикл, рекурсия и основные операторы.
Если вы не знакомы с этими концепциями, я настоятельно рекомендую вам сначала пройти комплексный курс по структуре данных и алгоритмам, например Структуры данных и алгоритмы: глубокое погружение с использованием Java, в котором подробно объясняется основная структура данных. . Это также очень доступно, так как вы можете купить этот курс всего за 9,9 доллара на сумасшедших распродажах Udemy, которые случаются время от времени.
20+ массивов вопросов из интервью по программированию
Вот некоторые из популярных вопросов на собеседовании по кодированию на основе массивов для вашей практики:
- Как найти недостающее число в заданном целочисленном массиве от 1 до 100? (Решение)
- Как найти повторяющееся число в заданном целочисленном массиве? (Решение)
- Как найти наибольшее и наименьшее число в несортированном целочисленном массиве? (Решение)
- Как найти все пары целочисленного массива, сумма которых равна заданному числу? (Решение)
- Как найти повторяющиеся числа в массиве, если он содержит несколько дубликатов? (Решение)
- Как удалить дубликаты из заданного массива в Java? (Решение)
- Как искать целевое значение в повернутом массиве? (решение)
- Учитывая несортированный массив целых чисел, найти длину самой длинной последовательности последовательных элементов? (решение)
- Как целочисленный массив сортируется на месте с помощью алгоритма быстрой сортировки? (Решение)
- Как удалить дубликаты из массива на месте? (Решение)
- Как в Java перевернуть массив? (Решение)
- Как удалить дубликаты из массива без использования какой-либо библиотеки? (Решение)
- Как преобразовать байтовый массив в String? (Решение)
- В чем разница между массивом и связанным списком? (Ответ)
- Как выполнить двоичный поиск в заданном массиве? (Решение)
- Как найти медианное значение массивов двух сортов? (решение)
- Как повернуть массив влево и вправо на заданное число K? (Решение)
- Как найти дубликаты в несортированном массиве? (Решение)
- Учитывая массив целых чисел, отсортированных в порядке возрастания, найти начальную и конечную позиции заданного значения? (решение)
- Для целочисленного массива найти непрерывный подмассив (содержащий хотя бы одно число) с наибольшей суммой и вернуть его сумму? (решение)
Эти вопросы не только помогут вам развить навыки решения проблем, но и улучшат ваши знания о структуре данных массива.
Если вам нужны более сложные вопросы, основанные на массиве, вы также можете посмотреть LeetCode в Python: 50 вопросов для собеседования по кодированию алгоритмов, курс в стиле учебного лагеря, чтобы изучить методы решения проблем, структуры данных и алгоритмы для пройти собеседование по кодированию в таких компаниях, как google
В этом курсе автор собрал 50 наиболее важных и популярных вопросов на собеседовании, которые задают эти крупные компании, и я объясняю их по-настоящему ШАГ ЗА ШАГОМ, чтобы помочь вам понять, как именно решать подобные вопросы.
И, если вы чувствуете, что этих 20 вопросов недостаточно и вам нужно больше практики, вы также можете проверить этот список 30 вопросов о массивах.
Лучшие ресурсы для собеседований по программированию
Выбор хороших ресурсов очень важен для успеха ваших собеседований по кодированию. Если вы выбрали неправильный ресурс, а не деньги, вы потеряете драгоценное время, необходимое для подготовки, поэтому потратите некоторое время на поиск хороших ресурсов.
Если вам нужны рекомендации, ниже приведены некоторые из моих проверенных и проверенных ресурсов для углубленного изучения структуры данных и алгоритмов для собеседований по кодированию:
- Структуры данных и алгоритмы: углубленное изучение Java для разработчиков Java. Узнайте о массивах, связанных списках, деревьях, хэш-таблицах, стеках, очередях, кучах, алгоритмах сортировки и алгоритмах поиска
- Алгоритмы и структуры данных в Python для тех, кто любит Python \
Руководство по реализации самых современных алгоритмов с нуля: массивы, связанные списки, алгоритмы графов и сортировка - Мастер-класс по алгоритмам JavaScript и структурам данных от Colt_Steele для программистов на JavaScript. Пропавший учебный курс по информатике и программированию. Узнайте все, что вам нужно, чтобы пройти сложные собеседования по программированию.
- Освоение структур данных и алгоритмов с использованием C и C ++ для тех, кто хорошо владеет C / C ++
- Структуры данных в Java: новое интервью от Образовательной группы, чтобы освежить важные концепции структуры данных и алгоритмов в Java. Этот курс содержит подробный обзор всех общих структур данных и предоставляет подробные сведения об уровне реализации на Java, чтобы читатели могли хорошо подготовиться.
- Интервью по программированию: шаблоны для вопросов по программированию от Фахим уль Хак и Образовательной группы
Это похоже на мета-курс для собеседований по программированию, который не научит вас, как чтобы решить проблему кодирования, но вместо этого научит вас, как решать конкретный тип проблем кодирования с помощью шаблонов. Овладейте этими 15 базовыми шаблонами для вопросов на собеседовании, и вы сможете решить все, с чем столкнетесь на собеседовании.
И, если вы предпочитаете книги, нет ничего лучше, чем Интервью Cracking The Coding от Гейл Лаакманн МакДауэлл, в котором представлены 189+ вопросов по программированию и решения. Хорошая книга для подготовки к программированию собеседований за короткое время. Кстати, я также заработаю немного денег, если вы купите любой из этих ресурсов, упомянутых здесь.
Теперь вы готовы к собеседованию по программированию
Это одни из самых распространенных вопросов, выходящих за рамки структуры данных и алгоритмов, которые помогут вам хорошо провести собеседование.
Я также поделился многими этими вопросами в своем блоге, так что если вам действительно интересно, вы всегда можете пойти туда и поискать их.
Эти общие вопросы о кодировании, структуре данных и алгоритмах — это те вопросы, которые вам необходимо знать, чтобы успешно пройти собеседование в любой компании, большой или маленькой, для любого уровня программирования.
Если вы ищете работу в области программирования или разработки программного обеспечения в 2021 году, вы можете начать подготовку с этого списка вопросов по кодированию.
Этот список содержит хорошие темы для подготовки, а также помогает оценить вашу подготовку, чтобы определить свои сильные и слабые стороны.
Хорошее знание структуры данных и алгоритмов важно для успеха при программировании собеседований, и именно на этом вам следует сосредоточить основное внимание.
Другие статьи с интервью по программированию и кодированию, которые могут вам понравиться
- 25 проблем проектирования программного обеспечения из собеседований по программированию
- 21 проблема кодирования строк из интервью
- 10 книг по алгоритмам, которые должен прочитать каждый программист
- 20+ задач на двоичное дерево из собеседований по кодированию
- 5 лучших книг по структуре данных и алгоритмам для разработчиков Java
- 20+ задач кодирования на основе связанных списков из интервью по программированию
- 100+ задач по программированию для начинающих и опытных программистов
- 10 курсов, которые помогут взломать ваше следующее собеседование по программированию
- 20+ вопросов для собеседования по Java от инвестиционных банков
Заключительные примечания
Спасибо, вы дочитали до конца статьи … Удачи вам с собеседованием по программированию! Конечно, это будет непросто, но, следуя этой дорожной карте и руководству, вы на один шаг ближе к тому, чтобы стать разработчиком программного обеспечения.
Если вам понравилась эта статья, поделитесь ею с друзьями и коллегами и не забудьте подписаться на javinpaul в Твиттере!
P.S. — Если вам нужны БЕСПЛАТНЫЕ ресурсы, вы можете проверить этот список бесплатных курсов по структуре данных и алгоритмам, чтобы начать подготовку.