Max pooling can be defined as the process of summarizing a group of values with the maximum value within that group. Similarly, if you computed the average, it would be average pooling. Pooling operations are usually performed on the generated feature maps after convolution to reduce the number of parameters.
Let's take the example array we considered for convolution:
array = np.array([0, 1, 0, 1, 0, 1, 0, 1, 0, 1])
Now, if you were to perform max pooling on this array with the pool size set to size 1*2 and a stride of 2, the result would be an array of [1,1,1,1,1]. The array of size 1*10 has been reduced to a size of 1*5 due to max pooling.
Here, since the pool size is of shape 1*2, you would take the subset of the target array