From initially reading your post I would have said: "you're well prepared". But actually it sound's like Yam has some points there.
I was put in the position to lead a couple of interviews and also be part of the decision process, so I may say you'll be surprised once you sit on the other side of the table, to what extent people tend to misinterpret their situation as a job applicant:
- They need YOU - you in contrast have a skill (telling from your writing you haven't been sitting on your hands during that two years) on a rather advanced level that's dearly hunted for by the industry
- They are people, too - they need to get at least the imagination that they could work together with you on a daily basis, and you won't get the job if you feel less comfortable and maybe become a shy or more silent version of yourself.
- Never be afraid to say straightaway that you don't know something. If you have read across the topic in question even ages ago and know only vaguely what it is, state that clearly. That's of course after being asked for something specific. If there are any any "elephants in the room", such as maybe an undocumented gap in your CV, put the story clear b4 you are asked for it.
Always keep those in mind. I cannot tell which things will get you the job at whatever specific company you are applying at, but i can tell you what kind of guys always got a full thumbs up and a 2nd invitation:
- if you're showing in an authentic way that this job IS your passion, that you are BURNING to solve problems of this kind and just get the machines do all this wicked stuff, that you are an open-minded, constantly evolving character which one can also "agree-to-disagree" but still cooperate constructively with, then you have a your foot in the door
- bringing along some example of your nicest kung-fu along (nothing academic, something cool or handy that best-relates somehow to what they are doing you can show on the laptop that you'll bring along) can help push them over the edge
- research as much as you can about what they do, who their customers are and what currently might be the most prominent project. Find something, just a spark maybe, that really interests you, ASK THEM QUESTIONS. If it's a big corporation, try to understand which exact sector (horizontal) and level (vertical) point of the hierarchy you are applying to join for.
The best thing is: if you manage to follow these - of course depending on the company's size and HR practices - you might not be put into an oral-exams-like situation at all. That is, if the interviewer gets the feeling that you really enjoy understanding and exploring the stuff you do, and that you're not just the Mysql or MongoDb fanboy reciting some features of their favourite "golden Hammer" (see Anti-Patterns) without ever having a clue on the factual backgrounds.
Nobody needs to be a human dictionary of computer science, nowadays we need creators, inventors, problem-solvers.
Of course, all of this just being my personal two cents from that perspective change experience.
P.S. The most ground-breaking readings to me in my career were "Clean Code" by R.C.Martin and "Pragmatic Programmer" (Hunt/Thomas) which managed to restore my will to continuously battle mediocre or "just-good-enough" code and identify and improve suboptimal processes where I see them. Somebody having embraced those books would always immediately shoot to my top candidate list to give the job to.