Strategies for independent learners to identify gaps in their knowledge One common concern many independent learners of computer science and tech have is figuring out what they "don't know". More specifically, the concern is that since they've never been formally educated in CS, their knowledge might have "blind spots", which can cripple them when they start working on more complex projects or try and get a job. (For example, somebody who didn't know that data structures and algorithms were a thing will very likely struggle on most standard tech interviews).

I interact with/help self-learners on a fairly regular basis, and am never quite sure what to tell them when this question comes up. 

One strategy, of course, is to simply give them a list of things they ought to know -- there are many articles that give a good overview of topics covered by a standard CS degree, for example (example 1, example 2). However, this strategy doesn't generalize well: once you move on to trying to learn about something not on some list, you're back at square one.

The other strategy I try suggesting is to just read random highly-upvoted posts on StackOverflow and news aggregate sites like Hacker News -- I've personally found you tend to pick up a good awareness of different CS and tech topics almost by osmosis if you do this. However, this strategy is also flawed: it's a random and slow process, and isn't guaranteed to be comprehensive. (If a topic isn't trendy, it's likely you'll never stumble across it.)

This brings me to my core question: what are some effective meta-strategies suitable for self-learners that help them identify gaps in their knowledge? 

I'm hoping for strategies that are either more generalizable or more systematic then the two I listed up above.
First off, it's worth mentioning that everybody has these "blind spots" or gaps in their knowledge. Nobody can know everything, and some of the smartest people I've met are very open about that fact. I think a big part of being a good programmer is being comfortable with the unknown. What makes a good programmer isn't that they can write code, it's that they can learn how to write code.

In that regard, a self-learner already has a lot going for them. Because it's not really about memorizing stuff: it's more about the ability to do research, consult documentation, try stuff out, and see what happens. So the best thing somebody can learn is the ability to learn, if that makes sense.

I'll also say that for me, the thing that really took my knowledge to the next level was when I started answering questions. So I'd say your recommendation of checking out posts on Stack Overflow is on the right track, but I'd encourage novice and intermediate programmers to go a step further and try to answer questions as well. If Stack Overflow seems overwhelming (it was for me at first), then maybe join a forum and start answering questions there. 

If you're only familiar with if statements, then start answering questions about if statements. Eventually you'll see a question that also involves a for loop, so to answer that question you do some research on for loops. Then you start answering for loop questions, and eventually come across a question about functions... That's a contrived example, but the general flow is pretty much exactly what I experienced. Even after a formal education, it really opened my eyes up to how much I didn't know!

Find a community, share your work, talk about programming. This is one way the gaps get filled in with a formal education, so it stands to reason that this would help with a self-learner as well.