Есть лёгкий проверочный метод. Если можно ответить на вопрос словом he, то пишем who (Who ate all the apples? He ate all the apples.), если him, пишем whom (Whom did I see at the store? I saw him at the store).В моём понимании Английского, это остаточные явления падежей и whom это "кого" или "кому" (Whom did you see; To whom did you give it to - хотя это из устаревшего и редкий Американец так говорит, Англичане чаще) а who это "кто". Ещё из остаточных явлений, есть разница между I и me. The car beeped at my friend and me / My friend and I went there. Тут всё просто - если поставить ай и убрать друга из этого предложения и предложение становится непонятным, то должно быть миа не ай. Если понятным остаётся - ай. The car beeped at me, но никак не The car beeped at I. А в другом предложении всё правильно остаётся: I went there.