
Привет, ребята, прошло некоторое время, но я хотел написать что-то, что могло бы помочь людям и дать мне время подумать над вопросами, которые я задал для недавнего взятия домой. Для контекста: я получил тест для интересующей меня компании, этот тест является частью их процесса отбора перед собеседованием. Первый вопрос был техническим и требовал жесткого кодирования, второй вопрос тоже был техническим, но требовал пояснений. Вот вопросы, а вот ответы и объяснение.
Задача 1. Напишите функцию
Первая проблема попросила меня написать функцию. Предполагается, что число передается в функцию, и функция должна возвращать сумму цифр в числе. Например, если бы было передано число 29, функция вернула бы 11, потому что 2+9 равно 11. На самом деле это было очень просто, нам нужно взять цифры по отдельности, а затем сложить их вместе!
Вот мое решение
function number(n) {
let div = n.toString().split('');
return parseInt(div[0]) + parseInt(div[1])
}
в задаче не указано, будет ли случай с более чем 2 номерами, но я прошел все тесты, поэтому я предполагаю, что ответ удовлетворительный. Я уверен, что есть несколько способов решить эту проблему, моя задача для вас - решить эту же задачу, но для любого количества цифр!
Проблема 2: Объясните процесс
Вторая проблема, с которой я столкнулся, заключалась в том, чтобы объяснить процесс, который происходит при загрузке веб-страницы. Я собираюсь сделать это коротким, но я дал 6 пунктов списка, а затем написал подробное объяснение под каждым пунктом. Вот пункты, которые я указал!
- Щелкните ссылку или введите URL
- Браузер ищет IP-адрес для домена
- Браузер инициирует TCP-соединение с сервером
- Браузер отправляет HTTP-запрос на сервер
- Сервер обрабатывает запрос и отправляет ответ
- Браузер отображает контент
Моя задача для вас состоит в том, чтобы выяснить, что означает каждый пункт списка, и понять каждую часть процесса. Я получил массу удовольствия, написав это, и это также помогло мне глубже понять процесс!
В общем, на самом деле это была задача по программированию, которая мне очень понравилась. Обычно я презираю алгоритмические проблемы, но мне было очень весело с этим предварительным экраном. Они всегда кажутся очень страшными, но, в конце концов, вам просто нужно делать это по одному шагу за раз! Вот небольшой пост, который я написал о живом кодировании, и многие из тех же принципов можно применить к этим тестам. Я очень надеюсь, что вам понравилось!
Удачного кодирования :D