Note that the relevant Wikipedia article says (in part) that the "PE format is a data structure that encapsulates the
information necessary for the Windows OS loader to manage the wrapped executable code". I say that because it was posted previously. The Wikipedia article also says "PE is a modified version of the Unix COFF file format". The PE format originally existed for unmanaged software and still is. If the interviewer is interested in your understanding of unmanaged software and you only give an answer for managed software then you will likely not do well. So the following describes what a PE file is and how it is used for unmanaged software. For unmanaged software, PE files are created by a link editor, also called a linker (or linkage editor in the context of IBM Mainframe computers). Unmanaged compilers create object files; one object file for each compiler input file. The link editor combines (links) the contents of the object files into an executable file such as a PE file. For unmanaged software, PE files contain machine code and other data necessary for execution.