4. By the time she retires next month, James will have been spending 5 years as a receptionist in the hotel.
К тому времени, как она уйдет на пенсию в следующем месяце, Джеймс проведет 5 лет в качестве администратора в отеле.
Ответ: will have been spending
Замечательно! Так держать!