Learned / has been learning
are discussing / have been discussing
is working / has he worked a long? / he has been working
teaches / has been teaching
know / have you known / have known
Честно говоря, меня немного поставила в тупик эта часть: He (to work) long?
Возможно ты что-то пропустила там. По логике должен был быть вопрос "Как долго он уже работает" - "How long has he worked?" Но на этот вопрос не может быть ответа, который следует дальше (-Yes, he...) Так что здесь возможен косяк. Остальное, надеюсь, сделал правильно))