How to prepare Coldfusion/Lucee Interview

Hello,

How would you prepare for a CF/Lucee interview?
If you are the interviewer what top 10 questions that you have to assess the candidate’s cf/lucee skill?

Thank you.

1 Like

I’ve interviewed hundreds of applicants for CF positions over the years and I try to ask as few questions as possible. My goal is to get the interviewee talking about what interests them and the projects they’ve really enjoyed working on. From that, I can assess their attitude, skill level, and how deeply they understand the work they’ve done. What’s less important to me is someone’s current skill compared to how eager they are are to learn new things. (I’m often times interviewing candidates with no CF experience who are Java/.NET/PHP devs) I always do an open-ended exercise with my candidates to watch them try something new to see how quickly they can adapt and learn.

3 Likes

Thank you @bdw429s Brad for your insigts, it would be really nice that senior technical leadership cares about new technologies / what’s on the horizon vs. a narrow mindset what’s on the plate today.
In addition to “traditional” web application programming language and its supporting structures / related technologies, in recent years, I’ve spent time and resources in learning blockchain technology and in the last six months I started to learn natural language processing, very interesting technology, and I had some fun… i feel it has many real world applications…

What I’m worst at is remembering syntax, let me share a “secret”, on one occasion I had to look up for “find” because I don’t recall if it’s find substring, string or the verse.

Probably if a technical leader focus on syntax memorization and the like I won’t be happy working for them at all, so, it’s better finding out early.

One more word about programming languages or problem solving, on one occasion, I had to use php or another language because for the world of whatever cf simply won’t nudge when interfacing a third party crypto system, then I did a little research and wrote the php code to get things done, maybe 60 to 80 lines of php code, it works fine while I’m not a php programmer.

“He first fell in love with ColdFusion as a way to easily connect a database to his website for dynamic pages.”,
that’s exactly how I searched and found CF in early days as well…

1 Like

@bdw429s @andreas and all,

Let me expand on this a bit more.

First, I’ll skip the SDLC for now (sort of).

Say, you’re a cf developer and you’re now given a requirements document, design document / development spec.etc. and we’re Lucee shop and a graphic designer / UI person, Amber is to support you on this project (you are the main developer for this project).

  1. First thing you do, is to read up all these docs. Based on your understanding and verification of such understanding with key business stakeholder(s), you then design its backend database and set up a data source for it.

  2. The shop uses ColdBox framework. So, you begin to set up a basic structure per CB, among them, chiefly creating the Application.cfc which defines/maps the created data source.

  3. Now you’re ready to code.

The above is high level architectural stuff.

Now, let’s talk about the most important or most frequently used CF language constructs.
Chief among them.

CFC – it allows modulation,component-based application development.
Why not cfmodule?
carriage vs. automobile

CFFUNTION – it usually does one thing, for instance, retrieve employee full name with id value as its parameter
Tough question, for “access” type, why do you most of time use
access=“remote” vs. “private” or “public” etc.
What’s your answer?

How to consume APIs
a) call a given API endpoint with CFHTTP and its family tag if necessary
b) parse fetched results (cfhttp.fileContent)
c) consume parsed result
note: CFHTTP can be used for other purpose as well

File Manipulation ( CFFILE family tags )
Document Generation ( CFPDF and family tags, CFDOCUMENT)
File transfer (CFFTP)

Data Integrity / DB side tag ( CFTRANSACTION )
Data Manipulation ( CFQUERY )
note: when the data source is defined in the application.cfc datasource attribute can be omitted
Data Output ( CFOUTPUT )

CFscript – I sometimes use it but not very frequent, quite a few seem to put a lot of complex code inside, very hard to read among others, what’s its chief benefit?

Data sets construct ( cfloop, cfswtich )

User session management: session, client, cookie (scope)

Visualization: ( CFCHART and family tags)
Reporting ( CFREPORT )
Image (CFIMAGE)

Webservice ( including CFINVOKE)

XML (CFXML)

EMAIL ( CFMAIL, CFPOP)

External program interface (CFEXECUTE)

Debugging ( CFDUMP )

Error Handling ( CFTRY … talking of which, not sure why I never use cfthrow, ok, i just looked it up )

Did I miss anything important?
Just curious, how does CI / CD fit into all this…

Thanks.