/php-interview-exercises

Some exercises to practice whiteboard interview questions in PHP.

Primary LanguagePHPMIT LicenseMIT

PHP Interview Exercises · Build Status PRs Welcome All Contributors

[NO LONGER MAINTAINED]: The exercises should still be useful when preparing for a PHP interview, but I'm not able to maintain the repository.

A number of exercises to practice whiteboard interview questions in PHP.

Inside exercises directory, you can find folders containing the exercises and completed versions. There are multiple ways to solve each problem, feel free to experiment.

If you are stuck don't be afraid to search online for a pseudo-code algorithm or a solution. Even by copying and later analyzing the solution you will gain lots of experience in problem solving.

Also check out the tests and see what results are expected. Playing around with Xdebug is a plus.

It is useful to actually see how algorithms manipulate data. Visualgo is a good resource for that.

Install

  1. Clone this repository.
  2. Run composer install.

Usage

  1. Pick an exercise for example exercises/ReverseString and inside tests/ReverseString/ReverseStringTest.php delete static::markTestSkipped();.
  2. Run ./vendor/bin/phpunit or ./vendor/bin/phpunit-watcher watch to start tests.
  3. Write implementation.

This will allow you to write code and be sure that the solution is correct.

Problem Solving Patterns

To solve certain problems in the most efficient way many algorithmic patterns are available. Such as:

  • Frequency Counter
  • Multiple Pointers
  • Sliding Window
  • Divide and Conquer
  • Backtracking

And more...

Suggested Path

Aside

Exercise Count

This Exercise Counter is made with Shields IO, Axios, GitHub GraphQL and Netlify Functions.

Contributing

Do you have an idea for an exercise or a better solution? Submit a PR!

Contributors

Thanks goes to these wonderful people (emoji key):

Anton Ždanov
Anton Ždanov

💻 📖 ⚠️
ahmed
ahmed

💻 ⚠️
Roman Yepanchenko
Roman Yepanchenko

🐛
Fathom
Fathom

🐛 💻
Alexander Katynia
Alexander Katynia

🐛
kevin-schmitt
kevin-schmitt

💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT