Несколько дней назад я просматривал YouTube и был заинтригован видео, где программисты YouTube прилетели в Чикаго и платили людям деньги за решение проблем с программированием. Очевидно, что это общие проблемы, с которыми человек может столкнуться во время собеседования по программированию, поэтому я с интересом посмотрел видео, чтобы увидеть, насколько хорошо прохожие смогут решить эти проблемы на выбранном ими языке.

Ссылку на видео на YouTube можно найти здесь: - https://www.youtube.com/watch?v=UsnRGo4y5FQ

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

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

  1. Определите строку текста, S.
  2. Определите функцию reverse_string(String)
  3. Определите переменную reverse_S, которая представляет собой пустой список.
  4. Определите переменную i, которая является длиной строки текста.
  5. Создайте цикл while, который активируется для переменной, т.е.
  6. Уменьшайте i на 1 каждый раз, когда он проходит через цикл while.
  7. Добавьте значение строки в месте размещения I к reverse_S.
  8. Когда цикл while завершает свои итерации, функция возвращает буквы reverse_S с пробелом.
  9. Как только функция будет создана, распечатайте reverse_S.

Код для этой задачи по программированию можно найти на скриншоте ниже:

Второй задачей программирования является суммирование значений двумерного массива. Псевдокод для этой проблемы кодирования можно увидеть здесь: -

  1. Задайте двумерный массив А.
  2. Определите функцию sum_2d(Array), которая будет выполнять вычисления.
  3. Определите переменную sum_col и инициализируйте ее нулем.
  4. Создайте цикл for, который перебирает всю длину массива.
  5. Создайте второй цикл for, который перебирает столбцы массива.
  6. На каждой итерации двух циклов for добавляйте значение массива в его строке и столбце к переменной sum_col.
  7. Функция вернет значение vsum_col, когда два цикла for завершат свои итерации.
  8. Выведите значение sum_col через функцию sum_2d.

Код для этой задачи по кодированию можно увидеть на снимке экрана ниже:

Третья задача кодирования видео называется TwoSum. Это очень популярная проблема, которую можно представить начинающим программистам на собеседованиях по программированию. Задача состоит в том, чтобы увидеть, соответствуют ли два числа в несортированном списке чисел цели.

Псевдокод для решения этой проблемы можно найти здесь: -

  1. Определить список чисел, Л.
  2. Определите цель.
  3. Определите функцию twosum, которая будет выполнять вычисления.
  4. Создайте цикл for, который будет перебирать каждый элемент списка.
  5. Создайте второй цикл for для перебора второго элемента списка.
  6. Если первый элемент и второй элемент равны цели, эти два числа выводятся на печать.
  7. Когда два цикла for завершили свои итерации, функция завершается.

Код для этой проблемы можно найти на снимке экрана ниже:

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

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.