Guys, we all put a lot of effort here to go to our dream jobs and make some decent earning.
However one non technical mistake can cause you a lot of compensation loss : it is telling your recruiter your expectation before the offer, it can easily cause you 40-50k loss (for US). For example if company is okay to give you something around 160k - 210k and you tell them a number of 140k, you will mostly get much lower than what you could, it does not matter how well you did in the interview. It is HRs' job to save company money by giving you a lower offer that makes you happy.
In negatioation; there is this fact that whoever tells the expectation first, is probably the loser of the game. Think as if you know the company ranges; probably you could guide the process towards the upper limit without losing your offer.
So recruiters ask your expectation in two stages
1 - The first screening call : Don be afraid to not tell them a salary target, they wont filter you out. Just kindly tell them you did not do research yet etc, you will be good.
2- After you ace the onsite, before the offer : They will ask you again. This is still early to tell them, without knowing their ranges still you can hurt yourself, for some companies l e v e l s.fyi gives an idea but still you can not get a good picture in most cases, so probably better to wait for them give you something, hopefully a median number will come out and then you can negotiate to push it up. when asked be kind to reply but dont give them a number.
In special cases, different approaches can work better but make sure you know what you are doing by telling them a number.
This advice is based on my interview experiences over 15+ companies. If you tell them a number, the first offer always comes around what you tell to them in the process, it is not a coincidence.