После долгих исследований в Интернете я пришел к выводу, что не существует серии руководств/видео, посвященных подготовке разработчиков интерфейсов к MAANG (Meta, Apple, Amazon, NetFlix, Google).
Итак, я решил расшифровать самые распространенные вопросы интервью МААНГ на моем YouTube канале. В этой статье я расскажу об очень интересной проблеме. Итак, читаем до конца.

Вопрос
Добавьте два очень больших числа в виде строки и верните результат в виде строки.
Компания, в которой был задан вопрос: Facebook/Meta
Ex:
Пример ввода:
“99999999999999999999999999999” + “1”
Пример вывода
«100000000000000000000000
Обычный подход
Большинство из вас подумают, что это простой вопрос, и его можно решить с помощью приведенного ниже фрагмента кода.
function addNumbers(num1, num2){
return Number(num1) + Number(num2)
}
console.log(addNumbers("99999999999999999999999999999", "1"))
К сожалению, это решение не сработает. Если вы запустите приведенный выше код, вывод будет таким: 1e+29.
Если вы впервые видите это выражение, то половина вашей уверенности будет потеряна на собеседовании. Позвольте мне помочь вам расшифровать, что это значит.
1e+29означает 10²⁹ (1 * 10 в степени 29). Что на самом деле является правильным ответом на добавление двух приведенных выше чисел. Но интервьюер ожидает, что результат будет 1000000000000000000000000.
Есть два основных способа решить эту проблему, я рассмотрю одно решение в этой части и следующее решение в другой части.
Решение 1.ИспользованиеBigInt
Определение BigInt
«BigInt — это примитивный объект-оболочка, используемый для представления и управления примитивными значениями bigint, которые слишком велики для представления числовым примитивом».
Определение говорит само за себя: когда число не может быть представлено в виде числа из-за его большей длины, тогда мы можем использовать BigInt в качестве альтернативы этому.
Фрагмент кода с решением
function addNumbers(num1, num2){
return BigInt(num1) + BigInt(num2)
}
console.log(addNumbers(“99999999999999999999999999999”, “1”))
Результат будет следующим: 100000000000000000000000000000n
«n» в конце здесь относится к BigInt.
Но интервьюер не будет ожидать, что вы напишете это решение, поскольку вы используете встроенный метод для решения проблемы. Вместо этого они ожидают, что вы сами решите эту проблему. Об этом пойдет речь во второй части этой статьи, обязательно прочтите ее.
Спасибо, что прочитали, увидимся в следующей статье. В случае, если вы еще не подписались на меня в среде, пожалуйста, подпишитесь, вы можете подписаться на меня по ссылке Здесь. Не забудьте подписаться на мой Youtube-канал UncommonGeeks.
В случае, если вы хотите поговорить со мной лично для пробного интервью, дать советы и рекомендации, чтобы пройти собеседование или просмотреть резюме, вы можете записаться на сеанс здесь:
Если вы готовитесь к интервью с фронтенд-разработчиком, посмотрите мою серию ниже:
Если вы хотите изучить пользовательские реализации встроенных методов в JavaScript, посмотрите мою серию ниже:
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.