[
This article] explains interfaces in C#.
In your example below you are creating an instance of TwoInterfacesHavingSameMethodName, but it is implicitly converted because you're declaring it as ISample1.
ISample1 obj1 = new TwoInterfacesHavingSameMethodName();
An interface is like a contract. By implementing an interface you're making your class abide by the contract defined in the interface. Anything using that object instance doesn't need to know anything about the instance itself, just the interface it implements, ie. the defined contract.