If a vocabulary and a view have the same machine name, will they conflict when exporting to a same feature? In other word, does the machine name of every type of Drupal object has its own scope? Do we need use some prefix?
If it's in a different table it's in a different scope. If it allowed you to set a similar machine name you are obviously in a different scope. If you go to a node page and try to create similar machine names you will get an error while adding the field. 

taxonomyTable.same_machine_name is different from viewTable.same_machine_name

No they wont conflict when exported from features. on the features page it shows different sections like taxonomy terms, nodes, strongarm, image styles ect.. anything that could be related then it auto detects anything related and you can select what you want to go with it. That's why it's important to have unique machine names so you know right away what you are working with. When using features try to avoid using the same machine names; but you can get away with it