Hiring guide for dc Engineers

dc Developer Hiring Guide

dc, which stands for "desk calculator", is a reverse-polish notation (RPN) command-line calculator which supports arbitrary-precision arithmetic. It is one of the oldest Unix utilities, predating even the invention of the C programming language. It also includes functions for manipulating the stack. It supports a macro feature, which can be used to create functions. The language is primarily used for mathematical scripting and teaching the concept of stack languages.

Ask the right questions secure the right dc talent among an increasingly shrinking pool of talent.

First 20 minutes

General dc app knowledge and experience

The first 20 minutes of the interview should seek to understand the candidate's general background in dc application development, including their experience with various programming languages, databases, and their approach to designing scalable and maintainable systems.

How would you define dc.js?
dc.js is a multi-dimensional charting library built to work natively with crossfilter and leverages d3.js to render the visualizations.
What are the main components of dc.js?
The main components of dc.js are charts, crossfilter, and dimensions and groups.
How would you create a bar chart using dc.js?
To create a bar chart, you would use the barChart function in dc.js, define the dimension and group, and set the x and y axis.
Describe the difference between a dimension and a group in dc.js.
A dimension is a value function that will determine the x-axis value, and a group is a reduction function that will determine the y-axis value.
How would you integrate dc.js with Angular?
To integrate dc.js with Angular, you would use the directive ng-dc to bind the chart to the DOM and the service $dc to create and configure the chart.
The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

What you’re looking for early on

Does the candidate have a solid understanding of DC development?
Has the candidate demonstrated problem-solving skills?
Is the candidate able to communicate effectively?
Does the candidate have relevant experience in DC development?

Next 20 minutes

Specific dc development questions

The next 20 minutes of the interview should focus on the candidate's expertise with specific backend frameworks, their understanding of RESTful APIs, and their experience in handling data storage and retrieval efficiently.

What are the steps to create a composite chart in dc.js?
To create a composite chart, you would create multiple chart objects, configure them, and then add them to the composite chart using the compose function.
How would you handle large datasets in dc.js?
To handle large datasets in dc.js, you would use the crossfilter library to perform data manipulation and filtering on the client side.
Describe the difference between a row chart and a bar chart in dc.js.
A row chart is a horizontal bar chart, whereas a bar chart is vertical. The row chart's x-axis is the count and y-axis is the dimension, whereas in a bar chart, the x-axis is the dimension and y-axis is the count.
How would you customize the colors of a chart in dc.js?
To customize the colors of a chart in dc.js, you would use the colors function and pass in an array of color values or a d3 color scale.
What are the steps to create a crossfilter instance in dc.js?
To create a crossfilter instance, you would use the crossfilter function and pass in the data array. Then, you would create dimensions and groups on this instance.
The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

The ideal back-end app developer

What you’re looking to see on the dc engineer at this point.

At this point, a skilled dc engineer should demonstrate strong problem-solving abilities, proficiency in dc programming language, and knowledge of software development methodologies. Red flags include lack of hands-on experience, inability to articulate complex concepts, or unfamiliarity with standard coding practices.

Digging deeper

Code questions

These will help you see the candidate's real-world development capabilities with dc.

What does the following code do in DC?
2 3 + p
This code adds 2 and 3 and prints the result, which is 5.
What will be the output of the following DC code?
5 2 3 * + p
This code multiplies 2 and 3, then adds 5 to the result and prints it. The output will be 11.
What does the following DC code do?
5 2 / p
This code divides 5 by 2 and prints the result. The output will be 2.5.
What will be the output of the following DC code?
5 2 ^ p
This code raises 5 to the power of 2 and prints the result. The output will be 25.

Wrap-up questions

Final candidate for dc Developer role questions

The final few questions should evaluate the candidate's teamwork, communication, and problem-solving skills. Additionally, assess their knowledge of microservices architecture, serverless computing, and how they handle dc application deployments. Inquire about their experience in handling system failures and their approach to debugging and troubleshooting.

How would you handle missing or null values in dc.js?
To handle missing or null values in dc.js, you would use the removeEmptyBins function or filter out these values when creating the dimension or group.
Describe the difference between the filter and filterExact functions in dc.js.
The filter function filters the data based on a range or single value, whereas the filterExact function filters the data based on an exact match.
How would you add interactivity to a chart in dc.js?
To add interactivity to a chart in dc.js, you would use the on function to add event listeners for mouse events, and use the filter function to update the chart based on user interactions.

dc application related

Product Perfect's dc development capabilities

Beyond hiring for your dc engineering team, you may be in the market for additional help. Product Perfect provides seasoned expertise in dc projects, and can engage in multiple capacities.