
Certainly macro is an important part of SAS programming, with various ways for designing interview questions. But almost the only reason interviewers ask about macro is to determine whether you are clear about the difference between preprocessing and processing.
1. Definition
Let's take a look at "Preprocessor", which does the work of preprocessing.
In Wikipedia, "Preprocessor" is:
"In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program. The output is said to be a preprocessed form of the input data, which is often used by some subsequent programs like compilers. "
As for "Macro":
"A macro in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to a replacement input sequence (also often a sequence of characters) according to a defined procedure."
In other words, raw source code is first met with the language scanner (word scanner), where sections of it are syntactically translated by preprocessor and hanged in there for action, rather than to the language compiler.
In SAS, the preprocessor component is called the macro processor. The "macro facility" refers to the macro processor together with the coding language supplied for the preprocessor and the features for using preprocessor variables.
This figure illustrates it well, from SAS Macro: Beyond the Basics :

The macro preprocessor will kick in once the word scanner detects the trigger "%" or "&". After the macro preprocessor resolves the macro variables, the normal process will continue.
But what's the details about this interchange between "Preprocessing" and "Process"?
2. Details
The following figures can be found from SAS website, How SAS Processes Statements with Macro Activity

The macro processor starts to work once the word scanner found the % and writes an entry in the symbol table.

Then the word scanner will continue to work after the macro processor stops.
During macro compilation, the macro processor does the following:
- creates an entry in the session catalog
- complies and stores all macro program statements for that macro as macro instructions
- stores all noncomplied items in the macro as text
3. Question
Sounds easy, right?
Here is a question for you:
What is the difference between symbol table and PDV (program data vector) ?
From Bancova.com