До сих пор мой опыт в Andela Bootcamp был сложным, интересным и поучительным.
Я завел несколько замечательных новых друзей и многому научился.

Решение приведенных задач меня очень удовлетворило.
Первая проблема, которую я попытался решить, была задача getPrimes: по заданному числу N вернуть список простых чисел от 0 до N (используя эффективный алгоритм).
Сначала я был уверен, что это будет легкая задача, я подумал о проблеме и быстро записал алгоритм, который мне показался эффективным (показан ниже):

- если N меньше 2 возвращает undefined
- пусть переменная primes содержит простые числа (с 2 в качестве начального значения в списке)
- создайте функцию для проверки, является ли число простое, проверив, делится ли оно на текущие простые числа в списке
- прокрутите нечетные числа, начиная с 3 до N, проверьте, является ли каждое число простым, и добавьте его в список (простые числа), если верно
> - вернуть список простых чисел (primes)

Я реализовал алгоритм на JavaScript и он заработал, потом решил проверить его работоспособность, решив этот челлендж Hackerrank: https://www.hackerrank.com/contests/projecteuler/challenges/euler010
Я был удивлен, что время ожидания многих тестов истекло. Я сразу же вернулся к работе, пытаясь оптимизировать код, чтобы он работал быстрее.
Я исследовал быстрые алгоритмы для нахождения простых чисел и решил использовать решето Эратосфена (https://en.wikipedia.org). /wiki/Сито_Эратосфена).

Эта обновленная версия прошла большинство тестовых случаев, но не прошла последние два. Я продолжал оптимизировать код, пока в конце концов не прошли все тестовые случаи.

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