We wanted you to complete the code challenge which is a pre-requisite before scheduling the client conversation. You will need to complete the attached code challenge and return within 24 hours. Photon Team will evaluate the code kata and provide you with feedback before submitting for client.
Attached is also short one pager of Developer Guidelines. They do not expect all developers to be an expert in all of the points, however a developer should be aware of all items on the page and be able to demonstrate an understanding of all the points. If you have created apps you can share the code on github as well.
Instructions -
1. Can you ensure you implement the solution using TDD approach to developing the application. There are many good articles on the web about TDD development patterns.
2. Specifically, we are looking for tests to drive the design and development of the code. To do that, tests are written in conjunction with the code (often before the code).
3. Code should be properly factored into appropriately named/intentioned TDD-ed classes with appropriate separation of concerns.
4. Share your code through github link
5. Please write test cases as TDD approach is followed and client requests test cases to be submitted
6. Make sure GUI has option to input values for testing.
7. There should be comments with code.
After you complete the code, please check it for the below inputs. we need correct output for all the cases. You can include them as part of your test cases.
Sample 1: (6X5 matrix normal flow)
Input:
3 4 1 2 8 6
6 1 8 2 7 4
5 9 3 9 9 5
8 4 1 3 2 6
3 7 2 8 6 4
Output:
Yes
16
[1 2 3 4 4 5]
Sample 2: (6X5 matrix normal flow)
Input:
3 4 1 2 8 6
6 1 8 2 7 4
5 9 3 9 9 5
8 4 1 3 2 6
3 7 2 1 2 3
Output:
Yes
11
[1 2 1 5 4 5]
Sample 3: (5X3 matrix with no path <50)
Input:
19 10 19 10 19
21 23 20 19 12
20 12 20 11 10
Output:
No
48
[1 1 1]
Sample 4: (1X5 matrix)
Input:
5 8 5 3 5
Output:
Yes
26
[1 1 1 1 1]
Sample 5: (5X1 matrix)
Input:
5
8
5
3
5
Output:
Yes
3
[4]
Sample 6: (Non numeric input, Optional)
Input:
5 4 H
8 M 7
5 7 5
Output:
Invalid matrix
Sample 7: (No input - Optional)
Input:
Output:
Invalid matrix
Sample 8: (Starting with >50)
Input:
69 10 19 10 19
51 23 20 19 12
60 12 20 11 10
Output:
No
0
[]
Sample 9: (One value >50)
Input:
60 3 3 6
6 3 7 9
5 6 8 3
Output:
Yes
14
[3,2 1 3]
Sample 10: (Negative values)
Input:
6,3,-5,9
-5,2,4,10
3,-2,6,10
6,-1,-2,10
Output:
Yes
0
[2,3 4 1]
Sample 11: Complete path vs. lower cost incomplete path
Input:
51 51
0 51
51 51
5 5
Expected output:
Yes
10
4 4
Sample 12: Longer incomplete path vs. shorter lower cost incomplete path
Input:
51 51 51
0 51 51
51 51 51
5 5 51
Expected output:
No
10
4 4
Sample 13: Large number of columns
Input:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Expected output:
Yes
20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Hi.
I have read your project description and understand your project.
Looking forward to work with you.
Thank you.
Jin.
Relevant Skills and Experience
I am a professional who is working with not only Android native app development but also web service programming with frontend and backend as well, having 8+ years experiences.
Proposed Milestones
$250 USD - Temporarily milestone
Hi Sir,
I’ve reviewed your job description and I just found my skills matched your needs.
I am sure I can complete your project with high quality in time.
Looking forward to hearing you.
Regards,
Relevant Skills and Experience
Android, C Programming, Java, Javascript, Mobile App Development
Proposed Milestones
$222 USD - init milestone
Hi!
I'm interesting your project very well.
i mastering android and java.
And also I have many experience and good skill about web development.
Let's go ahead with me
Stay tuned, I'm still working on this proposal.
I am an IITK graduate and I have 11 years of experience in software development. I have 100% completion rate and I have finished projects with the highest level of customer satisfaction.
I have a team of rock star developers, who are working with top product companies and contribute to these projects as part time gig.