How does lightning network find paths with sufficient liquidity? According to this article article, all hops along the route must have sufficient liquidity to process any payment they wish to service.

However, in LN, new commitments may not to be broadcast to the blockchain until one wants to close a payment channel. How does LN know that a node has sufficient liquidity when a node has paid out all its bitcoins but the transactions have not been broadcast yet?
Lightning Network nodes have their own P2P network where they send messages to each other containing information about their channels and their states. So a node will receive messages from the other nodes on the network that describe the available channels and their liquidity. So a node can build an internal map of the network's channels and the balances for each node in each channel. With this map, it can then plot a route for each payment.