Project Questions
Question 1:
Talk about how you made your site and why you chose the tools you did. Briefly explain one challenge you experienced in setting up this site and how you overcame it.
Answer:
Dev tools:- JetBrains WebStorm
- Portfolio Template from Envato Elements
- HTML, CSS, SASS, JS
To set up the site, I used a template from Envato and JetBrains WebStorm for development. I followed the instructions on Netlify to deploy. These were simple choices since I already subscribe to/own these products! I specifically choose the template used because it wasn't overly complicated to set up or alter.
Challenge: At the beginning of the project, I changed my mind about the portfolio template I wanted to use, and I simply deleted the directory and redeployed by pushing to GitHub with the new template I had selected. This caused a 128 error, which I solved with this documentation
Question 2:
What did you think of our service during the time you used it? Provide some constructive criticism or some features that impressed you.
Answer:
Pros:
- Ease of setup and deployment
- Quick form setup and configuration
- Cute matching game!
Suggested Enhancements:
- A top-level horizontal menu that encapsulates page topics would help the viewer easily understand what’s on the page. For example, on the Form page, you might have a row of buttons under “Form Level 0” that says Active Forms, Form Notifications, Usage & Configuration, Form Detection.
Question 3:
Rank your 5 favorite and 5 least favorite activities from this list: https://gist.github.com/laurajodz/592402a6336410377dee1a744af846ab
Answer:
Favorites
- Develop a code example to share with a customer
- Set up your own copy of several site frameworks for debugging
- Write and maintain Support Guides for our product
- Work with the development team to help design a new feature based on feedback from customers
- Suggest and champion improvements to the Support team's workflow
Least Favorites
- Respond to Netlify customers on Twitter
- Respond to 20+ support requests via email every day
- Work with prospective customers to explain our service and pricing model
- Engage multiple users at once via chat to answer
- Create video tutorials to help teach users a specific feature or use case
Question 4:
Provide a link to documentation for a technical/developer-focused product, which you think are well done, and explain why you think they are well done.
Answer:
I like the official documentation for Python for its simplicity, comprehensiveness, and ease of use. It has everything from tutorials to FAQs and even includes the docs for each version.
Question 5:
Explain, in a couple of paragraphs, what you think are two major challenges around DNS configuration for less-technical customers hosting websites.
Answer:
One major challenge for less-technical customers hosting websites is the
complexity of DNS terminology, jargon, and underlying concepts. Terms
like A records, CNAME records, and MX Records can be confusing for those
without a technical background. Customers may struggle to understand
what these records do and how they affect their website's performance
and accessibility. To add to the confusion, documentation is often
lacking, too brief, or incorrect. This lack of clarity often leads to
misconfigurations, such as pointing a domain to the wrong IP address or
failing to set up necessary records for email services, which can result
in frustrating website downtimes or communication issues.
Another significant challenge is the propagation delay that
occurs after making DNS changes. Customers often expect immediate results
when they update their DNS settings. This can lead to frustration when
things appear not to be working as expected. Without a clear
understanding of this process, customers may inadvertently make multiple
unnecessary changes, complicating the issue further and delaying the
troubleshooting process. Effective communication, education, and
documentation about DNS concepts and propagation timelines are essential
to help customers navigate these issues.
Question 6:
A customer writes in to Support saying simply that their “site won’t build”. You have access to their build logs, and there you see this error: Build failed due to a user error: Build script returned non-zero exit code: 2. You have no more information than this and the site’s source repository is private so you cannot test the build yourself. How would you troubleshoot this issue? What steps would you take? Also, please compose your best customer-facing first response.
Answer:
Because of the limited context in this particular case, it’s important to
focus on identifying the problem fully before establishing a hypothesis
about the probable cause. So, step one would be to contact the customer
for more information, including the build command (if used), environment
variables (if any), whether there have been any recent updates to the
codebase or dependencies, and whether the application runs locally.
Customer response:
Hi Customer,
Thank you for reaching out to us about the build issue with your site.
I see from the build logs that the error is a "non-zero exit code: 2,"
which typically indicates that something went wrong during the build
process.
To help us troubleshoot this further, could you provide some additional
details? Specifically:
- Recent Changes: Have you made any changes to your code or build configuration recently?
- Build Command: What build command are you using? This can often give us insight into the issue.
- Environment Variables: Are all the needed environment variables in place?
- Dependencies: Are there any specific dependencies or packages that your project relies on that might not be included in your configuration?
In the meantime, I recommend testing the build locally if you haven't already, as it may help pinpoint the issue. Once I have more information, I'll be better equipped to assist you in resolving this problem. Thank you for your patience!
Warm regards,
Kendall Shearman
Staff Support Engineer @ Netlify
Question 7:
How would you set up an http 301 status redirect from “/netlify/anything” on your site, to https://www.google.com/search?q=anything. Please provide the redirect formatting here. Now, how about a proxy redirect? Please add that proxy redirect rule directly to your site.
Answer:
Method 1:
- Create _redirects in the root directory of your project
- Add to Git
- Commit
- Push to GitHub repository
File contents:
# Redirects from what the browser requests to what we serve
/home /
/news /blog
/cuties https://www.petsofnetlify.com
/netlify/anything https://www.google.com/search?q=anything 301
Method 2:
- Create netlify.toml in the root directory of your project
- Add to Git
- Commit
- Push to GitHub repository
File contents:
# Redirects by proxy
[[redirects]]
from = "/netlify/something"
to = "https://www.google.com/search?q=something"
status = 301
force = true
headers = {X-From = "Kendall Shearman - Staff Support Engineer Candidate"}
Question 8:
Please attempt to deploy a function on our service. This need not be complicated. It could be "Hello World". Note that failure to deploy is not failing the exercise! Whether you have trouble or not, please describe what you experienced and how you attempted to troubleshoot any issues you encountered.
Answer:
I used netlify cli to test locally. Initially, I forgot to prepend the
netlify directory with a '.' in the endpoint URL, so I was getting 404.
I used
netlify functions:invoke hello
in the terminal to test the function
and see the correct URL.
Endpoint: https://sse-kendallshearman.netlify.app/.netlify/functions/hello
Question 9:
We understand you don't know anything about our internal procedures at this stage, but we want you to explain at a high level how you'd react to this situation: You receive a report of a severe security issue on www.netlify.com. You can't immediately confirm the report, so what steps might you take to investigate or substantiate the report? What might you say to the reporter, even though we haven't confirmed their assertion yet, that will instill confidence that our business is very concerned about security? You believe there is a reasonable chance the report is correct and the problem is very large and impactful. How might you escalate?
Answer:
My first step upon receiving a report of a severe security issue on
www.netlify.com would be to initiate an immediate internal investigation
to verify the claim. I would start by reviewing any security logs
available to the team for any unusual activity, such as unauthorized
access attempts, unusual IP addresses, or unexpected changes to files or
configurations. Next, I would access any observability or monitoring tool
available to see if there are any pertaining alerts. If the site is
under a content management system (CMS) or uses third-party plugins,
I would assess their security statuses, if possible, and check for any
known vulnerabilities or recent exploits that could be relevant.
After doing my initial research, I would respond to the reporter
acknowledging their concerns and thanking them for bringing the issue to
our attention. I would assure them that we take security very seriously
and that I am actively investigating the matter to determine the next
steps. I would convey our commitment to maintaining a secure environment.
I would outline how the investigation would proceed, including the review
of logs and check of our security/monitoring systems.
If I believe the report has merit and the issue could be significant,
I would first confer with my teammates about any other reports or known
issues, and then escalate it to the security team immediately, providing
them with all relevant details and findings from my initial investigation.
This would include any evidence gathered, the potential scope and impact,
and a recommendation for further immediate investigation.