How to construct a DFA which accepts all the strings endig with aa and no two consecutive b (bb)
If you know how to construct DFAs for two languages separately, you can use systematic methods to build the DFA which recognises the intersection of the languages (e.g. https://math.stackexchange.com/questions/147457/intersection-of-two-deterministic-finite-automata). However to achieve a minimalist and elegant result (as well as for learning purposes) you may want to try and find ad-hoc methods.
NB: You can always apply a DFA minimization procedure to 'clean up' the automaton obtained via the above general method (https://en.m.wikipedia.org/wiki/DFA_minimization).