All Projects → patrykwozinski → dev-recruitment

patrykwozinski / dev-recruitment

Licence: other
👨🏼‍💻 Test your developer skills. Questions and answers at various levels (from junior developer up to senior developer).

Projects that are alternatives of or similar to dev-recruitment

AlgoDaily
just for fun
Stars: ✭ 118 (+521.05%)
Mutual labels:  interview, interview-questions
Coder
求职信息 组队刷题 经验交流
Stars: ✭ 22 (+15.79%)
Mutual labels:  interview, interview-questions
Algorithm-Implementations
Lots of algorithm's & their implementations that have been compiled from a variety of locations.
Stars: ✭ 15 (-21.05%)
Mutual labels:  interview, interview-questions
coding-interview
Resources for preparing for your next coding interview
Stars: ✭ 27 (+42.11%)
Mutual labels:  interview, interview-questions
interview questions
Recruitment questions I (or colleagues ;)) heard/were asked during interviews. Good for a learning purpose.
Stars: ✭ 33 (+73.68%)
Mutual labels:  interview, interview-questions
technical-interview
Technical interview questions for Alibaba Travels Co.
Stars: ✭ 306 (+1510.53%)
Mutual labels:  interview, interview-questions
fe-interview-handwrite
📖 前端面试常见手写题整理
Stars: ✭ 273 (+1336.84%)
Mutual labels:  interview, interview-questions
golang-interview
⁉️ Вопросы для собеседования по Go
Stars: ✭ 52 (+173.68%)
Mutual labels:  interview, interview-questions
Javascript-Interview-Preparation
A curated collection of javascript interview questions & solutions.
Stars: ✭ 163 (+757.89%)
Mutual labels:  interview, interview-questions
javascript-interview-questions
A collection of JavaScript modern interview questions for beginners to experts
Stars: ✭ 290 (+1426.32%)
Mutual labels:  interview, interview-questions
iOS-Interview
📚 Comprehensive list of questions and problems to pass an interview for the iOS Developer position
Stars: ✭ 127 (+568.42%)
Mutual labels:  interview, interview-questions
Coding-Interview-101
Solutions to LeetCode problems filtered with companies, topics and difficulty.
Stars: ✭ 21 (+10.53%)
Mutual labels:  interview, interview-questions
CodingInterview
Leetcode解题、剑指offer第二版💪💪💪⛷😀
Stars: ✭ 28 (+47.37%)
Mutual labels:  interview, interview-questions
Coding-Interview-Challenges
This is a repo where I upload code for important interview questions written in Python, C++, and Swift
Stars: ✭ 13 (-31.58%)
Mutual labels:  interview, interview-questions
android-interview
The comprehensive Android interview questions and study guide
Stars: ✭ 13 (-31.58%)
Mutual labels:  interview, interview-questions
code interview
LeetCode LintCode 题解, 剑指offer题目,互联网公司面试,BAT外企等面试题目
Stars: ✭ 21 (+10.53%)
Mutual labels:  interview, interview-questions
FAANG-Coding-Interview-Questions
A curated List of Coding Questions Asked in FAANG Interviews
Stars: ✭ 1,195 (+6189.47%)
Mutual labels:  interview, interview-questions
CRACK JS INTERVIEWS
CRACK JS INTERVIEW
Stars: ✭ 33 (+73.68%)
Mutual labels:  interview, interview-questions
learning-computer-science
Learning data structures, algorithms, machine learning and various computer science constructs by programming practice from resources around the web.
Stars: ✭ 28 (+47.37%)
Mutual labels:  interview, interview-questions
Frontend-Developer-Interview-Preparation
Things you need to know to crack that frontend developer job [Work in Progress]
Stars: ✭ 113 (+494.74%)
Mutual labels:  interview, interview-questions

Logo

"I'm not a great programmer; I'm just a good programmer with great habits." ~ K. Beck

The inspiration to create the following set of questions and answers was Test your admin skills repository. The developer version has been prepared by @patrykwozinski. Any suggestions for changes, new questions or additions of answers are very welcome.




Available language versions:

  🇬🇧 English version
  🇵🇱 Polish version




💡  Questions are only examples and initial implementation to the topic. Completely exhausting the topic is possible after searching for materials on your own.

⚠️  Questions marked *** do not have answers or they are incomplete. It is nice to see in such cases pull requests with the suggested problem solution.

🚦  In a situation where you find a question that does not make much sense or contains incorrect answers - please do a pull request with suggested changes and become a project contributor.


About the project

The project was created to support programmers who intend to go on recruitment interviews in the near future, as well as people who carry them out from the technical side.

Recruitment questions

👨‍🎓 Junior Software Developer

PHP (1)
What ways of inheriting in PHP do you know?

In a PHP exists inheriting by extends keyword from one class. We can also inherit from many places by Trait.

Application testing (1)
What is the difference between setUp() and setUpBeforeClass() in unit tests?
  • setUp() method called before every unit test in class, everytime after test tearDown() is called
  • setUpBeforeClass() method called once before all tests in testing class, after all tests tearDownAfterClass() is called

👨‍💻 Regular Software Developer

PHP (4)
Do you know example of good place to use an anonymous class in PHP?

A great place to use an anonymous class are Stubs and other test doubles where we are not interrested which object is returned. For example StubRepository which implements interface of concrete repository depending on provided parameters can create specific needed anonymous class.

What is the difference between isset(), array_key_exists() and empty()?
  • isset() checks if element exists and has value including: 0, empty string, false; return false when value is null
  • empty() checks if element exists and is not empty and not zero value; return true for null, 0, false, empty strings etc
  • array_key_exists() checks only if array has specific key

isset() and empty() are language constructions. array_key_exists() is a function.

What is the difference between language native function and language construction? What is faster?

Native language functions are written in a specific programming language and are definitely slower than language constructs that are written in the language in which the language itself was created. For PHP this is C.

Do you know any tools for static code analysis? How they helps you in your projects?

Tools for static code analysis in PHP examples:

  • PHPstan
  • PHPMetrics

Thanks to them, you can find many errors that do not even require the launch of applications or tests. They detect problems in the code and indicate ways to improve them. Static code analysis tools also help in learning new languages.

Application testing (2)
What types of Test Doubles do you know?

Dummy, Fake, Stub, Spy, Mock. They are used to plug the implementation.

Do the rules related to the quality of the software also apply to tests?

Yes, the quality of the tests is as important as the quality of the application. It is also worth putting a lot of effort into their proper preparation, because poor quality tests are expensive to maintain and cause many problems.

Object Oriented Programming (6)
You use your repository of users with oneByUsername(username) which is to find a user with the given name. What will you do when no results are returned?

The best way is to throw an exception, because the user's search assumption is not really met. Another way is returning null value. Anwers like: empty user object, empty list, empty array or false are incorrect.

When is it worth to mark the class as final and how does it help?

At the moment when the class is already concrete - it inherits from the abstract or implements the interface. This blocks unnecessary levels of inheritance and forces the composition.

What are the advantages of using NullObject pattern?

NullObject pattern is a great tool to fight with ubiquitous nulls, NullPointerException and creating useless if statements.

What is encapsulation and and how does it help in obtaining Value Objects?

Value Objects hides implementation of native language functions by using behaviors. They give a higher level of abstraction. Thanks to Value Objects, we are able to determine the specific level of natural language that we will use during application development.

Do you know patterns which help in writing object oriented code?

One of the sets of principles related to OOP is GRASP - General Responsibility Assignment Software Principles, which consists of nine rules about how to design a code and answer the questions: where to put some responsibility, who to assign responsibility to, how to manage dependencies and many more.

What types of design patterns do you know?

Design patterns are divided into three types:

  • creational patterns
  • structural patterns
  • behavioral patterns
Application architecture (2)
What is CQRS and what are the benefits of using it?

Command-Query Responsibility Segregation is a separation of the model into read model and write model. Using CQRS we create Commands and Queries. Command is never returns anything and query only ask for something - it never modifies data.

What is the difference between Active Records and ORM? What are the pros and cons of using these approaches? ***

⚠️ Missing answer. Create a pull request and become a contributor!

👨‍🏫 Senior Software Developer

Object Oriented Programming (2)
What is behavior of an object?

Behavior of an object is a thing possible to the living creature. For example document->reassign(owner) - we can reassign new owner of a document. Getting and setting this information is not a behavior.

What are the cons of adding get / set prefixes in public object methods?

Adding prefixes such as get or set blocks us from being able to read the responsibility of classes and their characteristics. Getters and setters are procedural approach and are an incorrect habit that results in too much information being sent out of the class. Public methods should describe available interactions with an object and present his features.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].