Not to knock your experience, but imho C, Python, and Javascript are the BASIC of modern programming languages. (I don't know about Go).
Additionally, there are different levels of knowing a language. You can write perfectly workable programs in C without ever touching function pointers. So what's your level of mastery?
And then there are more difficult languages. Have you tried C++ or Scala? Ever explored the esoterical intricacies of Java's type system? Lisp? Objective-C? Kotlin? ADA?
Ok, that's languages. How about parallelism? Massive parallelism? Tight resource constraints such as limited memory? Error handling? Modern language and compiler design?
I'm not trying to say you need to know all these things to be a decent coder. My point is there are many harder problems out there and maybe if you're bored you might want to try working on some of them.
Early 50's here. I am switching jobs now, I'm at the top of my game, and getting the biggest money I've ever made. There are several factors, I believe. First, keep up to date. Certain things are really popular right now and therefore attract the best pay, and more jobs are available. Second, be in the right place. For example, SF Bay Area only has so much housing but has a lot of companies who are hiring, so they are competing for the people who are here. Third, project confidence because you are in fact awesome because of all the cool shit you've built. If you walk in to interviews resigned to making less money or a taking a step down, I bet you'll find that actually turns out to be true. Fourth, on a regular basis (once a month or so) you should be having conversations with your manager about your career and next steps, and taking time to work on getting there.
One more protip. At a higher level, moving up further does not mean being a better coder. It means talking to people (often on different teams), thinking and generating ideas (and applying for patents), sometimes taking risks to prove those ideas, figuring out how to improve process, and generally communicating. If you believe you're not good at any of these, you can actually study and practice them and get better at them. I did, and it's working out for me.
Depends on the experience level of the interviewee. If they are fresh out of school I expect them to know algorithms and data structures and maybe some specific topic they studied at an advanced level (like compilers, db, graphics, etc). If they are 5-10 years into a career, they should have a lot of knowledge about whatever it is they've been doing. If someone says they have 5 years of Android programming, I'm going to ask them a lot of Android API questions as well as Java.
In either case, there are questions that have multiple difficulties of responses. The more experienced/capable they are, the more nuanced and complete their answers will be. For example, ask a Java person how GC actually works. Most people have very little idea, but the best talent knows a good bit more.
But there are other variables. I've known perfectly intelligent and productive coders who took months to build a really complex well architected system that didn't solve the business problem and hence were a bad hire.
I'm looking at that Google report link and it says, for 2017 Tech, 39.2% asian, 53.2% white, whatever that means.
It's worth mentioning that for 2017 leadership, the Google numbers are significantly different: 26% asian, 68% white (and 75% male). So the decision making is still quite white and male.