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.
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
IMAGES
VIDEO