Zhang Lin dispute de premières compétitions internationales en 2006 à l'occasion de l'étape de Coupe du monde en petit bassin disputée à Shanghai. Trois ans plus tard, il apparaît pour la première fois dans un championnat international en participant aux Championnats du monde 2003. S'il ne dépasse pas les séries éliminatoires des 400 et m, il se qualifie en revanche pour la finale du 800 m qu'il termine à la huitième et dernière place. L'année suivante, il se qualifie pour les Jeux olympiques d'été de 2004 où il ne brille cependant pas puisqu'il ne dépasse pas le stade des séries sur 200 et 400 m nage libre. En 2005, à Montréal lors des Mondiaux en grand bassin, il se qualifie pour deux finales individuelles : le 200 m, qu'il finit au huitième rang, et le 1500 m qu'il termine sixième. L'année suivante est celle des premières récompenses au niveau international. Ainsi, aux Jeux asiatiques de 2006 disputés à Doha, il remporte quatre médailles d'argent dont trois lors d'épreuves individuelles. À chaque fois, il est devancé par le Sud-coréen Park Tae-hwan qui remporte les 200, 400 et m nage libre. Par ailleurs, aux Championnats pan-pacifiques, il glane deux médailles : l'argent du 400 m remporté par Park, puis le bronze du 200 m derrière l'Américain Klete Keller et de nouveau Park. Enfin, aux Championnats du monde en petit bassin, il remporte une médaille de bronze sur m. De nouveau finaliste mondial en 2007 à Melbourne, il s'offre un nouveau statut en 2008.