1) We saw in class an example of a network with a blocking flow of value 1, while the maximal possible flow was 2.

Try to generalize this.
2) After sorting edges, Kruskal performs |E| union/find operations.
Using the relevant data structure (learned in the Data Structures course) we can do this in time $O(|E| \alpha(|E|,|V|))$, where $\alpha$ is the inverse Ackermann function, a very slowly growing function.
Normally, the $O(|E|\log(|V|))$ overhead of sorting dominates the running time, but if you take this out of the equation, you're left with the slightly super-linear $O(|E| \alpha(|E|,|V|))$.