If you are asked to find the longest path in Directed Graph in an interview, which approach would you tell the interviewer first? Topological sort or Dynamic Programming ?