do they mean the same ? Can they be used inter-changeably?
Imitate means to do something in the same way as something or someone else.
Mimic means to copy someone's actions or other observable expressions.
There's not a big difference between those words. Mimic may have more of a connotation of mindless copying of another individual, as though X is copying the outward look/actions of Y but not necessarily understanding why those actions are done. If you describing someone copying someone else's mannerisms for entertainment, mimic is the better word.
A side note: imitate and emulate mean different things though some people confuse them. Don't fall into this trap.
Impersonate means to pretend you are another person - the subject and object of impersonate is generally a person or person-like thing. When you are impersonating you are trying to fool others into thinking you are the other person, this is not necessarily something you are doing when imitating or mimicking - though imitating/mimicking is certainly involved in impersonating.