I often helped my students make half lap joints in panels that slid together in their furniture designs. Usually we'd rough cut the slots in each half with a jig saw, then use a router and a clamped on straight edge to finish the smooth sides of the slots. When the panels started being cut using a large CNC the slots were also cut on the CNC with results that varied from sloppy to difficult to assemble.
I came up with a ramped version that could be CNC cut that was easy to slide together but would come snuggly together when closed.
Both sides are cut using the same toolpaths. The notch has a tapered side that matches the ramped face on the opposite side. I've posted a longer story HERE. There is a link to Vectric's forum where I posted a sample CNC file.