How is key shared between 2 people in symmetric encryption?
Via "a secure channel." There is no official definition of "a secure channel." Key sharing is outside the scope of the encryption algorithm and is simply assumed to happen. In practice, there are many mechanisms, from simple "Alice tells Bob the key" to elaborate key-exchange and key-agreement algorithms like Diffie-Hellman.
when alice encrypts using bob's private key how do alice know bob's private key
Alice never knows Bob's private key. That's why it's called "private."
when alice encrypts using bob's public key how do alice know bob's public key
There are many ways. Public keys are not secrets, so they can be broadly published. Exchanging public keys is trivial. The difficult part of public keys is trusting that they come from whom you think they come from. That is an entire field of study, but is generally handled by things like Certificate Authorities who everyone trusts, and who sign the keys vouching for them.
How is Https a type of asymmetric encryption? I never see keys generating? Even if keys are generated then where are they stored?And how do i never decrypt those encryptions?
The public key is sent as part of the initial handshake, and it is signed by a Certificate Authority. Then a symmetric key is agreed upon and used to encrypt session. The precise algorithm depends on the configuration, and the configurations are exchanged during the early handshakes. The reason you don't see any of this is that most HTTPS libraries do all of this for you and just show you the final result. Fundamentally, HTTPS is "HTTP over TLS" (plus a little bit of handshaking to get the TLS session started). See RFC 2817 for how TLS gets started, and see RFC 8446 for the latest version of TLS if you're interested in the details. You can also search for "Introduction to TLS" for numerous articles on the details.