|
The 24 Dreaded Questions for VFP |
Whil Hentzen
When I interview potential employees for a programming/developer's position, I run into a lot of unqualified folk. Why are they unqualified?
Lack of general programming skills compared to skills they claimed to have
Lack of specific language skills compared to skills they claimed to have
Inappropriate attitude
However, without testing some one, it's easy to be fooled. There are a lot of folk, however, who can talk the talk but can't perform. You know the type - they know all the buzzwords, they sling a few 'war stories' around and generally sound like they know what they're doing.
There's the story about the place kicker who interviewed for a spot on a football team. He interviewed the Head Coach, and then the Offensive Coach, and the Special Teams Coach, and they all agreed he was a pretty sharp candidate. They then brought the General Manager in, who also took a liking to him, so they offered him the job. "But wait a second, don't you want to see me kick a few footballs?"
Similarly, while a guy may amaze me with his silver tongue, I'd like to see him kick a few footballs. But I'm a busy guy and I don't have time to bring every Tom, Dick and Harriet in for an interview only to find out they still think that white thing with the cord and buttons is a foot pedal.
So a number of years ago I devised a set of 17 questions to determine whether a supposed "FoxPro programmer" was truly a contender or simply a pretender. I could go through this list with someone on the phone, and within a few minutes, determine if they were worth bringing in for a face to face interview.
It's now 1997, and we need a version for Visual FoxPro. Here are "The 24 Dreaded Questions."
There are a few caveats to using this list:
This list is designed to determine where a potential employee stands on the ladder of VFP 5.0 programming proficiency. I choose these words very carefully. I'm not looking for a developer, but a programmer. And I'm looking to determine where they stand - not just for the highest score. It's perfectly acceptable to score a 30%, if that's where they stated their skills were. What I'm looking for (or, rather, trying to avoid) is the programmer who thinks they're a "10" but couldn't get a date at closing time on New Year's Eve. I want to understand the breadth of that individual's skill set so I can better evaluate the likelihood of their fitting in as a cog in my development environment's machine.
This is not a comprehensive list designed to ferret out every nook and cranny. I'm trying to get a feel, within five minutes, of whether it's worth spending more time with this individual. So don't whine about the lack of questions on the Internet, on C/S, on the API, and so on. There aren't any questions on SQL, on the menu, on interface design, on reports, or a dozen other topics as well.
There are some questions that are purposely worded awkwardly, or that are just plain wrong. I want to hear (or see) the programmer's reaction in these cases as well. Do they have the strength of conviction to tell me that I'm wrong?
Every time the Dreaded 17 was published, I received a number of emails asking for the answers. Why are you expecting me to give you the answers? If you're using this list the same way I am, shouldn't you already know the answers?
By the way, the original Dreaded 17 came about as a result of late night barroom discussions with Steven Black and Pat Adams, among others, and for their insights I will be eternally grateful (or at least until my mind goes…)
What is wrong with this statement: "The fastest way to install VFP 5.0 on a new machine is to zip up the VFP directory and all subdirectories and then unzip on the target machine."
Describe the difference between global, public, private and local variables.
True or False: The Project Manager now allows multiple developers to access the same project if each developer issues the command SET EXCLUSIVE OFF before opening the project.
List the data types new to VFP 3.0/5.0 (from 2.x)
Is the information in the DBC sufficient to be used to rebuild tables and indexes? If not, what is missing?
Describe the objects that can be found a DE.
How do you make a form modal?
Name the controls in VFP that can't be subclassed.
Describe what a non-visual class could be used for.
What does dodefault() do?
What happened to the SPR/SPX?
TABLEUPDATE can be passed two parameters. Describe what each does.
Name three differences between tables in a DBC and free tables.
Describe the process to access a SQL Server database through ODBC.
In the Properties window, some variables occasionally display in bold and some appear in italic. Why?
Name two web sites, two books, and two third-party tools for VFP.
Say you have a form with a label, a text box, and a command button on it. Describe the order of instantiation.
Name three ActiveX controls native to VFP 5.0.
List the five windows in the VFP 5.0 debugger. Describe how you use them.
Name two limitations of views.
When you drag a field from a DE onto a form, what determines the base class used for the resultant control?
How do you ship an ActiveX control with an application?
Describe a design pattern.
Was Ginger really a bimbo, or was she just acting for Mary Ann's benefit?
Extra Credit: Why are there 24 regular questions on this test?
Again, this isn't intended to be the ultimate FoxPro certification test. The purpose is to weed out, over the phone, the amateur hacks from those who've a solid foundation of knowledge. I can deal with a few weak spots; gaping holes, on the other hand, well, I'm sure my competition has a few openings.
[ Note: Interesting to be noticed that there was a relationship between the number of questions in the list and the number of sections in the CompuServe FoxForum: "I sort of matched each question to the topic of the forum section. For example, one section in the original FoxForum had to do with Browse/Read, and so there's a question in The 17 that had to do with Browses/Reads. Another section was on Reports, so there was a question on reports." ]
See also: People That Helped FoxPro to Become a Legend: Whil Hentzen