My understanding is, if I browse to example.com, first my computer will ask the root nameservers about the .com TLD nameservers, and it will be given the IP address of the .com TLD nameservers. Once it has the .com TLD nameservers, then it asks one of those TLD servers about example.com, and it is given the (authoritative) nameservers of the example.com domain. Then my computer will query that example.com domain's authoritative nameservers for any record it wants (A, MX, etc.), and it will get the IP address. Now it can finally start to communicate to the server it wanted to talk to.
This is all fine. But my problem is, I see many nameservers belong to the domain itself. For example, google.com's name servers are ns1.google.com, ns2.google.com, etc. But it's recursive: in order to find ns1.google.com, one needs to know the google.com nameserver IP address.
I know I'm clearly missing something or misunderstood something, but I don't know what it is.