An interface is only a "contract"
it states to a receiving method. A receiving method can define, Hey, I want to receive an object that has these methods, that accept these arguments and return this type.
If interfaces overlap, it doesn't invalidate the contract. The contract is the same, you input X, you get Y back.
public void foo(InterfaceB) {
...
}
expects an object, that implements InterfaceB, that will have, according to the contract in interface B, a method called methodOne, that returns an integer, and accepts a String as an argument.
public void bor(InterfaceA) {
...
}
expects an object, that implements InterfaceA, that will have, according to the contract in interface A, a method called methodOne, that returns an integer, and accepts a String as an argument.
Since the requirements overlap, no different behaviour is expected. You put in a String, you get an int back. How the object does this, is up to the object. The object only provides what the contract requires.
The object however, does not know via which contract it's called, and shouldn't either.
If you want different behaviours for different interfaces you should use different objects for the seperate but similar interfaces.