Find maximum number in a nested array using recursion
Your solution is much too complicated.  There is no point (pardon my pun) in splitting the array in the middle.

If you just want to demonstrate your knowledge of recursion, then apply recursion to nested lists.  You can then use the max() built-in function with a generator expression.

Instead of long comments and assert statements, write docstrings with doctests.

# Credit: https://www.linkedin.com/pulse/ask-recursion-during-coding-interviews-identify-good-talent-veteanu/
def max_number(array):
    """
    Find the maximum number in a jagged array. Each element of the
    array can be a number or an array of other numbers on indefinite
    number of levels.

    &gt;&gt;&gt; max_number([1, [3, 9], 5])
    9
    &gt;&gt;&gt; max_number([2, 4, 10, [12, 4, [100, 99], 4], [3, 2, 99], 0])
    100
    &gt;&gt;&gt; max_number([-5])
    -5
    """
    return max(
        max_number(e) if isinstance(e, list) else e
        for e in array
    )