I am not an expert, but I am a native speaker, and I speak Mandarin, Shanghainese (btw, Shanghai is *not* Northern China), Cantonese (though that's rusty), bits of Hokkan (which is the main Taiwanese dialects), and I can understand most of the various Wu dialects, the dialects in Northern China...