Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications You must be signed in to change notification settings

This is solution for second assignemt for rtCamp careers

gau1991/rtcamp-assignment2

Folders and files, repository files navigation, rtcamp-assignment2, introduction.

This Script will install Nginx, MySQL-Server and PHP5 on your Ubuntu System and also configure latest Wordpress. Tested on Ubuntu 13.10

Quick Start

  • Shell 100.0%

PHP Assignments

Important notes.

  • rtCamp’s WordPress training program will include WordPress training. Since WordPress is primarily built using PHP , we require you are well versed with PHP . So all assignments here should be solved using PHP mainly.
  • Apart from PHP, you can use JavaScript, HTML, and CSS . Please do not use other programming languages.
  • For storage requirements, please stick to MySQL and/or Redis. The technical interview does have some questions around MySQL so it’s better to get familiar with MySQL .
  • There is no time limit for the assignment . You can submit it whenever you are ready.

Programming Challenges

Below are details about a few problem statements. You can solve any ONE of them.

Note: We have archived video and Twitter challenges but if you are already working on them, it’s ok to proceed with them. Their details are here. If you are starting afresh, it’s better to try following challenges as they are much simpler.

1. Email a random XKCD challenge

Please create a simple PHP application that accepts a visitor’s email address and emails them random XKCD comics every five minutes.

  • Your app should include email verification to avoid people using others’ email addresses.
  • XKCD image should go as an email attachment as well as inline image content.
  • You can visit https://c.xkcd.com/random/comic/ programmatically to return a random comic URL and then use JSON API for details https://xkcd.com/json.html
  • Please make sure your emails contain an unsubscribe link so a user can stop getting emails.

Since this is a simple project it must be done in core PHP including API calls, recurring emails, including attachments should happen in core PHP. Please do not use any libraries.

2. Email Github timeline updates

Please create a simple PHP application that accepts a visitor’s email address and email them a Github timeline update every five minutes.

  • Monitor https://github.com/timeline for changes 
  • Send new updates to appear in the last five minutes
  • Please make sure emails are formatted nicely so one can jump to any part of the application

Submission Guidelines

Please check Assignment Submission Guidelines before you start working on the assignment.

Once you read the above guidelines, you can click on the link rt.cx/ghc-php for GitHub to create a rtLearn repo for your assignment automatically. Below is a screenshot of the webpage with the GitHub repo URL highlighted. You should always use repo under github.com/rtlean address for your assignment.

rtcamp assignment solution

The demo you can host anywhere, including your computer as long as it’s publicly accessible. Again, check Assignment Submission Guidelines for more details.

Only when you have the demo and code ready, please submit your assignment through this form .

Have Questions?

Pease try to use forum first . In real web development career, you will be using online Q&A forums a lot.

If for some reason, you would like to ask questions privately to the team, then please email [email protected]

Important Links:

  • Assignment Submission Guidelines
  • Create Github Repo for Assignment
  • Assignment Details Submission form

15 Years of Good Work

If you have directly landed here, and have questions about this whole “assignment” thing, you may  read this first !

Now you are settled, the purpose of this assignment is to check if you can write the quality WordPress code.

Assignment Alternatives

If you have existing work samples to show and you missed them to submit during the application process, you can still submit them by replying to the email you receive upon your application.

  • Links to WordPress core patches  unless they are really small one which just fixes a typo or a CSS property. As a WordPress user, we still thank you for your contribution but unfortunately, that won’t be enough to make a cut.
  • Public code repo showcasing WordPress themes or plugin codes  preferably passing WordPress coding standard or covered by unit testing or both. We accept any link where we can see your source code in a version control environment such as WordPress.org, Github, Gitlab, Bitbucket.
  • Link to one or more git/svn commits  in case you do not have a solo project to show but has a significant contribution to a larger project where we can see your code commits. Often 100+ lines of PHP codes written for WordPress are enough for us to evaluate.

Not Acceptable

  • Sending links to public sites! It doesn’t tell us anything about PHP code quality or if you have followed the WordPress coding standard or written test cases.
  • Sending zip files either as an attachment or via dropbox or some public link. Zip files do not give us visibility into your commit history over the time which tells a lot about how disciplined you are! But still, if you submit your codes via  wp-starter assignment , it’s acceptable.

As we attract people from different walks of life, we have many options to suit everyone’s needs, tastes, and experiences here. So please read carefully every scenario described below and pick the one as per your comfort. Do not worry if you pick the wrong one. Our hiring team will be happy to guide you in the correct direction.

Developed WordPress codes like a pro ?

If you have ever used WordPress coding standards and/or unit testing in any of your WordPress theme or plugin work in the past, you can still submit your old codes as an alternative to assignment and save your time.

Just Have WordPress codes publicly available

If you developed some WordPress theme or plugins but did not follow coding standards, you can still get your own code upto the mark by running them through  WordPress Coding Standards . If you manage to fix  phpcs  feedback — first accept our congratulations for becoming a pro developer — and then you can submit your own repo packed with quality to us for further evaluation.

While we do expect you to figure out how to get everything related to WordPress Coding Standards up and running, if you are short on time, you can use our  wp-starter assignment  to proceed further quickly.

Have WordPress codes but not public

If for some reason, you have developed WordPress codes but not put them public yet, we recommend you to use  wp-starter assignment  to proceed further.

Please note that, the private Github repo that wp-starter assignment creates is private to you and our hiring team! If for some reason, you do not want us to have access to your private codes, better work on a  sample problem .

Not yet a WordPress developer

If you are new to WordPress development or just exploring the WordPress ecosystem, it’s better to start with our free and open DIY  training program . This program is by no means the only way to learn WordPress. There are many ways out there in the open web and you can learn WordPress from anywhere.

Sample Programming Challenges

Just to clarify again, if you have code samples to show, you don’t need to solve a programming challenge. You can (re) read section above.

We have two kinds of challenges for WordPress Engineers. Once you decide which challenge to pursue, please proceed to wp-starter assignment section.

😉

WordPress Plugin Challenge

There are already more than 10000 WordPress plugins out there. So it’s really hard to set up a challenge for you! Still, we need to create a playground for you. So we came up with a few ideas for the plugin. Go ahead with anyone below:

Challenge-1: WordPress-Slideshow Plugin

This plugin will test if you are familiar with WordPress shortcodes.

Admin-Side:

  • Create an admin-side settings page.
  • Provide an interface to add/remove images from plugin settings page.
  • User must be able to change order of uploaded image. (Hint: Use  http://jqueryui.com/demos/sortable/#connect-lists  )
  • Create provision for a shortcode like [myslideshow]
  • When you add shortcode [myslideshow] to any page, it will be replaced by a slideshow of images uploaded from admin-side.
  • You can use any jQuery slideshow library/plugin.

Challenge-2: WordPress-Contributors Plugin

This plugin will test if you are familiar with  WordPress metabox  functionality. Goal is to create a plugin so that we can display more than one author-name on a post.

  • Add a new metabox, labeled “contributors” to WordPress post-editor page.
  • This metabox will display list of authors (wordpress users) with a checkbox for each author.
  • User (author/editor/admin) may tick one or more authors name from the list.
  • When post saves, states of checkboxes for author-list in “contributors” box must be saved as well.
  • Use a post-content filter.
  • At the end of post, display a box called “Contributors”.
  • It will have list of authors checked for that post.
  • Show contributor names with their Gravatars.
  • Contributor-names must be clickable and will link to their respective “author” page.

Coding Guidelines

Irrespective of which challenge you choose, please note down our common minimum requirements applicable to all challenges.

  • UI Framework  – Use WordPress core CSS/JS. Make sure what you create looks nice!
  • Responsive  – Your code must work on mobile devices like iPhone/Android.
  • Code Organisation  – All 3rd party codes, libraries must be inside  lib  folder. No unwanted files e.g. IDE files, temporary files should be committed on git-repo.  (Hint: Write a nice  .gitignore )
  • Coding Standard  – Your code must pass the  WordPress coding standards . You can use PHP Code Sniffer and JSHint on localhost. Additionally, you can configure  scrutinizer-ci  so your code quality can be seen easily.
  • Unit Testing  – Submissions without unit tests will not be accepted. You may use  wp-cli to setup unit testing easily .
  • Github Readme  – Write a nice Github Readme using markdown syntax. Make sure you include a demo link and links to libraries used in the readme.

WP-Starter Assignment

If you are solving a programming challenge above, or just need a place to upload sample codes for further evaluation, our wp-starter assignment can help you.

Starting the assignment automatically

⚠️

  • Please open this Github Classroom assignment link . You will need a Github account to use this link.
  • When you open the link, Github will prompt you to “Accept this assignment”.
  • Clicking the “Accept…” button creates a private copy of this repo to which you and rtCamp’s hiring team will have access. Your access level for the repo will be admin-level. As a repo admin, you can transfer repo to your private space and remove our access should you wish to withdraw from the process anytime.
  • You are expected to push all your codes to this new repo. Make sure you do not touch  .github  folder accidentally as it can break the magic.
  • If you have developed any theme or plugin codes in the past, you are free to push those codes in your private repo.
  • When pushing existing large code-base, we request you to commit them in chunks — ideally one PHP file at a time. You can commit all non-PHP files at once as code-scanner bot only checks PHP codes at the moment. It is yet to  Learn JavaScript Deeply !

Manual Setup

The above method creates a private repo under  rtLearn  Github organization which you can transfer to your Github space anytime. Still, for some reason, you want to have start manually, you may use  wp-starter assignment repo’s source code  to proceed further.

It doesn’t matter which way you set up a repo as long as you can show your work on a Github repo where we can give you feedback about code quality.

Have Questions?

We request you to  read faq here ..

  • Guidelines to Write Experiences
  • Write Interview Experience
  • Write Work Experience
  • Write Admission Experience
  • Write Campus Experience
  • Write Engineering Experience
  • Write Coaching Experience
  • Write Professional Degree Experience
  • Write Govt. Exam Experiences

rtCamp Interview Experience for Devops Engineer

The rtCamp is a Pune-based organization that mainly works on WordPress. I applied for the position of DevOps Engineer at this organization through their careers site.

As a first step after applying, I received an email from them stating that my resume was selected, and they provided an assignment link with a flexible deadline.

Assignment:  The assignment required me to perform the following tasks: https://rtcamp.com/assignments/devops-engineer/

I completed the assignment and submitted the work link through the mail.

Technical Interview: After that my technical interview was scheduled, which took place on Zoom. During the interview, I was asked the following questions:

  • Can we use Git without GitHub?
  • What is the difference between Git and GitHub?
  • Where does Git store data?
  • Is basic email registration through JavaScript sufficient for security purposes? What are the alternatives?
  • Explain the difference between sessions and cookies.
  • Can we use sessions without cookies?
  • Define encryption and hashing.
  • What is salt in hashing?
  • Suppose your site is experiencing high traffic, causing lag. How would you manage it to reduce server load?
  • Explain horizontal and vertical scaling.
  • In Linux, how can you check which process or application is consuming the most storage/memory and how can you remove it?
  • How do you terminate a running process?
  • Which process is utilizing the most resources?
  • What is a Docker volume?
  • Differentiate between an image and a container in Docker.
  • How would you take backups of your servers?

These were the questions asked during the interview. At the end, the interviewer allowed me to ask any questions I had.

Tip:  During the interview, it is important to answer confidently and be prepared for questions related to your profile. Ensure you have a deep understanding of fundamental concepts in both development and operations

Similar Reads

  • Experiences
  • Interview Experiences
  • Write it Up

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

IMAGES

  1. GitHub

    rtcamp assignment solution

  2. GitHub

    rtcamp assignment solution

  3. Get Hired at rtCamp Over a Weekend Assignment

    rtcamp assignment solution

  4. assignment submission · rtCamp learn · Discussion #135 · GitHub

    rtcamp assignment solution

  5. Regarding E mail function in the assignment · Discussion #304 · rtCamp

    rtcamp assignment solution

  6. rtCamp Solutions Pvt Ltd || Detail Discussion || Placement Process || Vcubes Visions

    rtcamp assignment solution

VIDEO

  1. RT CAMP HIRING FRESHERS 2024 WORDPRESS ENGINEER

  2. rtCamp's Journey in 4-years

  3. Assignment with a Returned Value (Basic JavaScript) freeCodeCamp tutorial

  4. ncc parate || RTCamp selection madhurai 2021

  5. rtCamp Solutions Pvt Ltd || Detail Discussion || Placement Process || Vcubes Visions

  6. Mannequin Challenge