Is there any way I know which non-friend people have viewed my Facebook profile? For example, when someone is not my friend but is a friend of friend, if he or she views my profile, is there any way I can know?
Unlike LinkedIn, this is not possible on Facebook.
In fact, Facebook developers are explicitly prohibited from making any application that claim to be able to do so in accordance with the Platform Policy.
You can somewhat see who you chat with the most. See http://digiwonk.wonderhowto.com/how-to/track-who-views-your-facebook-profile-0147349/