All Projects → AaronWells → Interview

AaronWells / Interview

Code completion and code review for identifying C# candidates

Projects that are alternatives of or similar to Interview

Interview
Code completion and code review for identifying C# candidates
Stars: ✭ 22 (+69.23%)
Mutual labels:  review, developer, interview-questions
Leetcode Sol Res
Clean, Understandable Solutions and Resources for LeetCode Online Judge Algorithm Problems.
Stars: ✭ 1,647 (+12569.23%)
Mutual labels:  review, interview-questions
Blog
博客
Stars: ✭ 781 (+5907.69%)
Mutual labels:  interview-questions
Data Science Interview Questions And Answers
Data science interview questions with answers. Not ideally (yet)
Stars: ✭ 842 (+6376.92%)
Mutual labels:  interview-questions
Play With Algorithm Interview
Codes of my MOOC Course <Play with Algorithm Interviews>. Updated contents and practices are also included. 我在慕课网上的课程《玩儿转算法面试》示例代码。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。
Stars: ✭ 915 (+6938.46%)
Mutual labels:  interview-questions
Android Interview Questions
Collection of Android and Java related questions and topics to know
Stars: ✭ 812 (+6146.15%)
Mutual labels:  interview-questions
Rpinteraction
Review page interaction - handy and pretty way to ask for review.
Stars: ✭ 26 (+100%)
Mutual labels:  review
Cv
🙈Front End Engineer Curriculum Vitae -《切图仔面试宝典》 急需招人,简历请投 [email protected],谢谢
Stars: ✭ 772 (+5838.46%)
Mutual labels:  interview-questions
Rescore
Sentiment analysis for movie reviews
Stars: ✭ 11 (-15.38%)
Mutual labels:  review
Developer Portfolio
Single page developer portfolio template.
Stars: ✭ 23 (+76.92%)
Mutual labels:  developer
Bestnote
👊 持续更新,Java Android 近几年最全面的技术点以及面试题 供自己学习使用
Stars: ✭ 841 (+6369.23%)
Mutual labels:  interview-questions
Javascript Question
前端面试题 | Javascript 题 | CSS 题 | 前端届的3年高考5年模拟
Stars: ✭ 18 (+38.46%)
Mutual labels:  interview-questions
0x5e.github.io
A peosonal blog
Stars: ✭ 5 (-61.54%)
Mutual labels:  developer
Lld Parking Lot
Repository for low level design solution of parking lot
Stars: ✭ 27 (+107.69%)
Mutual labels:  interview-questions
Data Augmentation Review
List of useful data augmentation resources. You will find here some not common techniques, libraries, links to github repos, papers and others.
Stars: ✭ 785 (+5938.46%)
Mutual labels:  review
Prepare For Interview
💪 half a year left, keep moving!
Stars: ✭ 8 (-38.46%)
Mutual labels:  interview-questions
System Design Primer Zh Tw
system-design-primer 繁體中文翻譯計畫。原作者:https://github.com/donnemartin/system-design-primer
Stars: ✭ 776 (+5869.23%)
Mutual labels:  interview-questions
Appleevents
The unofficial Apple Events app for macOS
Stars: ✭ 831 (+6292.31%)
Mutual labels:  developer
2020 algorithm intern information
2020年的算法实习岗位/校招公司信息表,和常见深度学习基础知识笔记、算法岗面试题答案,及暑期计算机视觉实习面经和总结。
Stars: ✭ 914 (+6930.77%)
Mutual labels:  interview-questions
Cs Fundamentals
🎓 Data structures and algorithms
Stars: ✭ 869 (+6584.62%)
Mutual labels:  interview-questions

Administering the Interview

###30 minutes, 50 possible points


Before beginning, make sure they understand that you assume from their resume that they are proficient in .NET, C#, SOLID design principles, unit testing, and at least one IoC Container

Scenario: A junior programmer created the following application, it needs to be finished and code reviewed.

  1. Show the candidate ReverseEvenNumberGenerator and its unit test They may not change the for loop
    • (5 points) Have them finish the class so that the unit tests pass
    • (2 points) Single if-then-else statement
    • (2 points) don't concatenate strings to produce the result (string builder or string.Join)
    • (1 point) No extraneous lists or processing
    • (1 point) Style & readability
  2. Have them perform a code review on Class1
    • (2 points) Identifies "SetRange" method as Sequential Coupling issue (must call as dependency initializer)
    • (2 points) Recommends Constructor Injection
    • (2 points) name the class something meaningful
    • (2 points) Recommends putting the range elements into another class
    • (2 points) Justifies another class because it can be injected by IoC container whereas integer primitives cannot.
    • (2 points) Recognizes extraneous loop in Generate Output based on putting items in a list and calling string.join
  3. Show them OddNumberGenerator and the Extensions file.
    • Ask them how they would apply the provided interface and introduce a second implementation
      • (2 points) Make the class non-static
      • (2 points) Remove the "this" keyword from each method
      • (2 points) Remove the "static" keyword from each method
      • (2 points) Change the existing calls to be made from an instance of the object
    • Ask them what they would need to change to make the library a pluggable dependency
      • (2 points) Register the desired class in the IoC container & provide as dependency
  4. Add the FizzBuzzGenerator to the program
    • Show them the program wrapper (program.cs)
    • Show them the FizzBuzzGenerator class, ask them what they need to do to add FizzBuzzGenerator functionality to the application and suggest improvements
      • (4 points) The switch statement used to create different classes is a code smell because it requrires changing every time a new class is registered or removed from IoC
      • (2 points) They suggest refactoring the switch statment using either an array of IGenerateOutput, or named registrations
    • Based on the different Generator classes dependency injection methods, describe how these classes would be registered using their IoC of choice, and suggest improvements
      • (2 points) Factory Methods and Create registrations are a code smell that means the classes themselves should be refactored
      • (2 points) Registrations should be performed by convention or automatically
  5. Ask them to finish the code review by commenting on the unit tests
    • (1 point) Split tests into classes to mirror the classes being tested and common test setup conditions "When..."
    • (1 point) Rename test methods to follow a "Should..."
    • (2 points) Use a stub rather than private class
    • (2 points) Missing unit tests for FizzBuzzGenerator
    • (2 points) Missing unit tests for Range
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].