Несколько дней назад я просматривал YouTube и был заинтригован видео, где программисты YouTube прилетели в Чикаго и платили людям деньги за решение проблем с программированием. Очевидно, что это общие проблемы, с которыми человек может столкнуться во время собеседования по программированию, поэтому я с интересом посмотрел видео, чтобы увидеть, насколько хорошо прохожие смогут решить эти проблемы на выбранном ими языке.
Ссылку на видео на YouTube можно найти здесь: - https://www.youtube.com/watch?v=UsnRGo4y5FQ
Поскольку проблемы программирования, скорее всего, будут замечены на собеседовании по кодированию, я подумал, что мне стоит попробовать, просто чтобы посмотреть, как я поведу себя на собеседовании.
Первой задачей было распечатать строку текста в обратном порядке. Я написал небольшой фрагмент кода для этого упражнения, а псевдокод, поясняющий код, можно найти здесь:
- Определите строку текста, S.
- Определите функцию reverse_string(String)
- Определите переменную reverse_S, которая представляет собой пустой список.
- Определите переменную i, которая является длиной строки текста.
- Создайте цикл while, который активируется для переменной, т.е.
- Уменьшайте i на 1 каждый раз, когда он проходит через цикл while.
- Добавьте значение строки в месте размещения I к reverse_S.
- Когда цикл while завершает свои итерации, функция возвращает буквы reverse_S с пробелом.
- Как только функция будет создана, распечатайте reverse_S.
Код для этой задачи по программированию можно найти на скриншоте ниже:
Второй задачей программирования является суммирование значений двумерного массива. Псевдокод для этой проблемы кодирования можно увидеть здесь: -
- Задайте двумерный массив А.
- Определите функцию sum_2d(Array), которая будет выполнять вычисления.
- Определите переменную sum_col и инициализируйте ее нулем.
- Создайте цикл for, который перебирает всю длину массива.
- Создайте второй цикл for, который перебирает столбцы массива.
- На каждой итерации двух циклов for добавляйте значение массива в его строке и столбце к переменной sum_col.
- Функция вернет значение vsum_col, когда два цикла for завершат свои итерации.
- Выведите значение sum_col через функцию sum_2d.
Код для этой задачи по кодированию можно увидеть на снимке экрана ниже:
Третья задача кодирования видео называется TwoSum. Это очень популярная проблема, которую можно представить начинающим программистам на собеседованиях по программированию. Задача состоит в том, чтобы увидеть, соответствуют ли два числа в несортированном списке чисел цели.
Псевдокод для решения этой проблемы можно найти здесь: -
- Определить список чисел, Л.
- Определите цель.
- Определите функцию twosum, которая будет выполнять вычисления.
- Создайте цикл for, который будет перебирать каждый элемент списка.
- Создайте второй цикл for для перебора второго элемента списка.
- Если первый элемент и второй элемент равны цели, эти два числа выводятся на печать.
- Когда два цикла for завершили свои итерации, функция завершается.
Код для этой проблемы можно найти на снимке экрана ниже:
В этом посте я представил три распространенных вопроса по программированию, которые можно задать на собеседовании по программированию. Помимо предоставления решений этих проблем, я также использовал функции, потому что всегда полезно использовать их везде, где это возможно, по причине их переносимости и возможности повторного использования.
Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.