How does F.interpolate work for downsampling?

I have a question about F.interpolate, same as torch.nn.functional.interpolate.

when we are performing downsampling using F.interpolate(tensor, size, mode=‘bilinear’, align_corners=False), how does it working?
Is it performing average pooling or max pooling?

And is anti-aliasing necessary? aliasing will be occurred?
Additionally, what’s the method for applying anti-aliasing? Is Low Pass Filtering with Gaussian kernel?

The Linear Interpolation Wikipedia article might be a good starter which explains how values “between indices” are selected and how the target value is then calculated using the linear interpolation.
Anti-aliasing can occur during downsampling and you can use a low-pass filter.