Show modern practice: "I use block.json with a render.php callback for dynamic blocks. The block.json handles asset registration automatically, and server-side rendering ensures the block works even if JS fails."
Modern blocks use block.json for metadata (name, title, category, attributes, supports), with JavaScript for the edit component and either JS or PHP for the render. block.json enables automatic asset enqueuing, server-side registration via register_block_type(), and integration with the block directory. The older approach registered blocks entirely in JavaScript with registerBlockType(). Strong candidates discuss: static vs dynamic blocks, InnerBlocks for nested content, block variations and patterns, the @wordpress/scripts build toolchain, and when server-side rendering is preferable.
Tests current WordPress development skills. Candidates still building everything with shortcodes or Classic Editor widgets are behind. Those who understand the block editor architecture and can build custom blocks are more valuable for modern WordPress projects.