Best way to split array to two sub-arrays, with maximum absolute difference between them
Some ideas:


You can replace sumArray with IntStream.of(a).sum();.
Tests should be written using JUnit or another testing framework and named according to what they are testing.
Try to write the absolutely most simple test case you can think of rather than following the writer's instinct to vary the input. You want the mental arithmetic to verify your test results to be as simple as absolutely possible. Your tests should be easy to rewrite using just -1, 0 and 1.
shouldPartitionSingleElementListAtStart and shouldPartitionListWithMultipleIdenticalValuesAtStart tests would be useful.
What happens if the input is an empty list? It's up to you whether that should fail like (I think) it does now, but the case should be tested. You might even want to raise a custom NonPartitionableListException or EmptyListException in this case.
"Difference" is usually spelled out fully or, if shortened, written as "Diff" (two "f"s).
Variable names should be understandable at the point they are defined - it should not be necessary to see all their usages to understand what they do. So for example left could be called leftPartitionSum.
On a related note, findMaxDif might be clearer as getMaxPartitionDifferenceIndex. "find" is usually used when you want to return a "non-answer" in case no answer is possible, while "get" is usually used when you want the code to throw an exception if there is no answer.


Other than that my opinion is that this code is short, readable and performant.