I've always believed the classic derivation you see for time dilation in a intro physics course, however I also have always had the uncomfortable feeling that some things were getting brushed under the rug.
To recap, the classic derivation is as follows:
Suppose you have a light clock which measures time by reflecting light back and forth on a mirror. In the frame of the clock, the timing proceeds as you would expect, such that one time tick $\Delta t = \frac{2L}{c}$ for L the height of the clock, and c the speed of light. In the frame of some outside observer such that the clock is moving at some speed $\beta$ (in natural units) perpendicular to its height, you can use pythagoras' Theorem to find that $\Delta t' = \frac{1}{\sqrt{1-\beta^2}} \times \frac{2L}{c}$.
Okay, so in some ways this is a nice first derivation because it doesn't necessarily assume a bunch of different invariances. For example, Newton would like to say that the timestep size is invariant, but that's not assumed. Newton would also like to say that all lengths are invariant, but again, that's not exactly assumed. However, L is assumed to not change between frames. Why? Is there a general justification for why L must be the same between frames?
I suppose my issue can be summed up as follows: in the clock's frame we can say $\Delta t = \frac{2L}{c}$. In the prime frame lets consider what could conceivably change between frames: $\Delta t$ and $L$. We know that every other variable ($c$ is the only other one) is invariant. Okay, so then $\Delta t' = \frac{1}{\sqrt{1-\beta^2}} \times \frac{2L'}{c}$... but what is $L'$?