|
The 17 Dreaded Questions for FoxPro 2.x |
Whil Hentzen
I've been interviewing of potential employees for a high level programming position lately. A lot of folk still have a dBASE III mindset, but label themselves as "experienced FoxPro 2.5 programmers" simply because they're writing dBASE III code inside FoxPro/Win. It's easy to spend a lot of time just separating the "pretenders" from the "contenders" - and time is not one of those abundant resources....
As a result, I put together a set of questions that were designed to determine where an individual stood on the ladder of FoxPro 2.x programming proficiency. Note that I chose those words very carefully. I'm not looking for a developer - but a programmer. And I'm not just looking for the highest score possible, but rather, 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.
These questions came about as a result of an evening's discussion at FoxTeach with Steven Black and Pat Adams, and then generated a lengthy thread on FoxGang afterward. The rationale behind the questions is in brackets behind each question.
Versions of FoxPro. Name three major differences between 2.0 and 2.5. How long have they been around?
Language - Code a simple Foundation Read. Alternate: How do you get rid of the Command Window after you’ve put up a menu? Are they still using DO WHILE? Have they even _heard_ of a FR?
What is the difference between WHERE and HAVING? Describe how to implement an outer join in FoxPro. A blank look here generates the prompt - "you know, in SQL" - which often leads to a "Oh, I only use FoxPro commands." And that's what I wanted to know
Name five FoxPro third party products and what they do. Do they insist on inventing everything themselves?
What periodicals do you regularly read? What books have you read? What else do you do to learn? Do they understand the availability of resources available, or do they try to learn it all themselves?
Screen Builder. Describe the tradeoffs of desnippetizing. Where do you keep your code? Name two valid reasons for modifying the SPR Ha! Trick question!
What's the difference between a function and a procedure? Let's not forget the basics...
What does this line of code do: private all like j* Are they familiar with safe programming techniques?
Describe your naming conventions for tables, fields, variables, arrays, windows. A true mark of differentiation between hacks and professionals.
What technique do you use to integrate browses with READs. The best answer here is "Ugh, I can hardly wait until they make it a true READ object..."
Name each band in the RW and describe when it is executed. Are they still hand coding reports? Don't laugh - it happens....
Describe the Transport process. We do a lot of xplat work - have they?
Write out a command to find a record that is Rushmore optimizable. Write one that is not. Critical to find out if they understand how to take advantage of FoxPro's speed.
Describe an alternative to PACK, when you'd use the alternative, and why. Tells me if they've done any serious multi-user work.
Describe what Set Default and Set Path do. These are fundamental concepts in our environment. A lot of programmers still just throw all the programs and tables in a single directory.
What's the difference between Build Project and Rebuild All. Have they ever used the PM? And for what?'
Tell me all you know about using Debug. I _assume_ they've had bugs in their programs. Do they understand how to go about tracking them down efficiently?
Again, this isn't intended to be the ultimate FoxPro certification test. The purpose is to weed out, over the phone, the amateurs 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'll let them work for my competition.
[ 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