I found the terms front-end and back-end in the article (or blog post) How to Develop a CNN for MNIST Handwritten Digit Classification. What do they mean here? Are these terms standard in this context?
I do not think these are formally defined.
The distinction is just to facilitate discussion of the NN architecture: e.g., you may have a few convolutional layers with pooling as a front-end, and a different architecture as a back-end (in a text-book architecture, just a fully-connected layer. But to get wild, maybe LSTM? To really get wild, BERT?).
In the end (no pun intended), computers do not care if a layer is seen by humans as a front-end or a back-end.
I think that front end refers to a high level API for a CNN framework (c++ front end, Python front end).
The back end can be understood as a more peculiar (low level) interface to specific libraries.
You can use different back ends but still manipulate training data and model building process the same way using the front end (use Keras with TensorFlow, caffe with Pytorch, or the other way round use Theano, tensorflow, .. . with Keras!).
You can find some more material at the following links :
I don't think it refers to neural network layers structure. The term shallow or deep layers are usually prefered.