Iteration overlaps can be managed by having a multifunctional team. Multifunctional teams consist members that are enthusiastic about all the agile requirements. They will be skilled in areas of design, testing and coding. These members are capable of participating in all the processes equally.
There are many views of how iterative/incremental projects should run under Agile. Overlapping iterations is certainly one strategy. The danger is to pay attention to the candidate if they say that “iterations should never overlap.” This may tell you that the candidate is used to having what is called “multidisciplinary teams.” This type of team consists of a set of generic team members who all have the skills and enthusiasm for requirements, design, coding and testing and who each participate in those activities almost equally. If your company has defined roles (business analyst, test analyst, etc.) and career paths then this candidate may have a tough time fitting into your structure. They will want BAs to code and testers to do design. Is that okay? It is your decision. Again, nothing wrong with multidisciplinary teams, but your organization must be able to handle the change if you decide to go that way.