Preheat oven to 350 degrees. Butter three 8-inch-round cake pans; line bottoms with parchment paper. Butter, then flour paper and sides (tapping out excess); set aside.
In a medium bowl, whisk together flour, baking soda, baking powder, cinnamon, ginger, and salt; set aside. In a large bowl, whisk together butter, sugar, and eggs until well combined; fold in grated and diced apples. Add flour mixture; mix just until combined. Divide batter among prepared pans; smooth tops.
Bake until a toothpick inserted in center of cake comes out clean, 35 to 40 minutes. Cool cakes in pans 20 minutes, then invert onto wire racks; peel off parchment. Invert cakes again, and let cool completely on racks.
Make buttercream: In a heatproof bowl set over (not in) a pan of simmering water, whisk together egg whites, sugar, and salt until sugar has dissolved; remove from heat. Using an electric mixer on medium, beat mixture until fluffy and cooled, about 15 minutes. Increase to high; beat until stiff peaks form. Reduce to medium-low; gradually add butter, beating until fully incorporated, about 3 to 5 minutes.
Assemble cake: Place one layer on a serving plate; spread top with buttercream. Top with another layer; spread top with buttercream. Top with third layer; spread remaining buttercream over top and sides of cake. Refrigerate at least 1 hour (or up to 4 days). To serve, bring cake to room temperature; slice with a serrated knife.
You can also bake the cake in a 13-by-9-inch pan; the baking time will be about the same. Also, if the buttercream separates, continue beating -- it will come together.