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

Задача 1. Напишите функцию

Первая проблема попросила меня написать функцию. Предполагается, что число передается в функцию, и функция должна возвращать сумму цифр в числе. Например, если бы было передано число 29, функция вернула бы 11, потому что 2+9 равно 11. На самом деле это было очень просто, нам нужно взять цифры по отдельности, а затем сложить их вместе!

Вот мое решение

function number(n) {
  let div = n.toString().split('');
  return parseInt(div[0]) + parseInt(div[1])
}

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

Проблема 2: Объясните процесс

Вторая проблема, с которой я столкнулся, заключалась в том, чтобы объяснить процесс, который происходит при загрузке веб-страницы. Я собираюсь сделать это коротким, но я дал 6 пунктов списка, а затем написал подробное объяснение под каждым пунктом. Вот пункты, которые я указал!

  1. Щелкните ссылку или введите URL
  2. Браузер ищет IP-адрес для домена
  3. Браузер инициирует TCP-соединение с сервером
  4. Браузер отправляет HTTP-запрос на сервер
  5. Сервер обрабатывает запрос и отправляет ответ
  6. Браузер отображает контент

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

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

Удачного кодирования :D