В каждой команде есть свои правила оформления кода, тестовых заданий это не должно касаться. Это тест на знание кода и формирование логики претендента.
А я считаю, что парень справился с задачей.
А результат проверки работодателя, не верен, единичный вызов даст на выходе один ключ.
И придраться можно ко всему, от одинарных или двойных кавычек до заглавных букв в названии переменных.
Я конечно не профи в сетевых вопросах, но php может работать только в рабочих директориях, только те которые прописаны в конфигурациях, это сделано в целях безопасности.
Код плохой, дыр много, данный зачем передавать в Ajax запросе вообще не понимаю, данные полученные не фильтруются и не экранируются ни как. Беда короче.