Ответы:

а) Первым выполнится small1.js, затем big.js, а потом уже small2.js — это нормальная последовательность выполнения подряд идущих скриптов.

б) Первым выполнится small1.js или small2.js, big.js выполнится в последнюю очередь, так как скрипты из-за async ведут себя совершенно независимо друг от друга, страница тоже от них не зависит.

в) Первым выполнится small1.js, затем big.js, а потом уже small2.js, так как скрипты, подключённые через defer, сохраняют порядок выполнения относительно друг друга.