├── Product-designer-I.md ├── Product-designer-III.md ├── README.md ├── Video Producer.md ├── communitymanager.md ├── customer-support.md ├── digitalmarketing.md ├── growth.md ├── office-admin.md ├── project-coordinator.md ├── quality-assurance.md ├── recruiter.md └── software-engineering.md /Product-designer-I.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Challenge for Product Designer Roles Application 2 | === 3 | 4 | ### Case study recording 5 | 6 | ### Instructions 7 | 8 | * We'll invite candidates to record a case study walkthrough video. The video is expected to be *20* *minutes in duration*. 9 | * You DON’T have to edit out your stutters or add any motion graphic. Just a plain recording in your pyjamas will do. 10 | * You can submit your video recording here (https://airtable.com/shr2eaeRTGbYJBI5e), along with your case study slides in PDF format. 11 | * If you are having trouble uploading the video, you can paste a private Youtube link (https://support.google.com/youtube/answer/157177?co=GENIE.Platform%3DDesktop&hl=en), a Google Drive link (https://support.google.com/drive/answer/2494822?co=GENIE.Platform%3DDesktop&hl=en), or a Loom link (https://www.loom.com/) in the “Others” section. 12 | 13 | ### Why we ask for a pre-recorded presentation 14 | 15 | 1. It helps establish a shared understanding of your work between you and our interviewers ahead of the first interview. 16 | 2. It allows us to ask more informed questions about your experience and work during the interview process. 17 | 3. Generally, we avoid using meetings as a means to present. Instead, we record or type our thoughts and use meetings as Q&A. This exercise provides you with an opportunity to experience this style of work. 18 | 19 | ### Presentation Topics 20 | 21 | 1. A short self-introduction, and a high-level overview of one piece of work. 22 | 2. We want to understand: 23 | 1. the goals of the project 24 | 2. structure of the team you were a part of 25 | 3. what you personally did on the project 26 | 4. your process and methodology 27 | 5. the challenges you faced, and how you approached them 28 | 6. how you synthesized research data to inform product and design decisions 29 | 7. the final output and its impact on the business and to the users 30 | 8. your reflections and lessons learned 31 | -------------------------------------------------------------------------------- /Product-designer-III.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Challenge for Product Designer Roles Post-Ideation Interview Session 2 | === 3 | 4 | ### Creating an ice-breaking app for students 5 | 6 | * This is a design challenge to evaluate candidates after passing the on-site ideation session, please note that you only need to work on it if you are asked to do so by the internal recruiters/ interviewers. This is meant to be short and serves as a way for the team to understand your approach to product design. This exercise is purely for hiring purposes, and will not be used in the product. 7 | 8 | ### Contextual and technical constraints 9 | 10 | * The app focuses on high-school students in the United States 11 | * Students are all filling in their information during class time. approximately 15 mins 12 | * There is a teacher in the class to answer any question 13 | * The max characters for each question are 40 words max 14 | * The max characters for each answer (if it is a text field) is 100 words max 15 | * There is another LMS App where the teacher is the moderator and work as an admin 16 | * Students do not have to answer all of the questions 17 | * It should be usable in both physical classrooms or remote learning settings 18 | * There may be ethnic minorities and physically challenged students 19 | 20 | ### Deliverables 21 | 22 | * Extend on your progress from the previous session. You should assume your solution to work on a mobile device of your choice. 23 | * We expect a detailed description of your solution, with any materials, wireframes, or flowcharts that were used to arrive at your design. Any sketches of rejected ideas would also be useful to show your thought process. 24 | 25 | * Please include 2 to 3 screens of polished high-fidelity UI mockup showing the most important pieces of your solution. You are not required to produce any more, as we hope you could spend more time in solution ideation and craftsmanship. 26 | 27 | ### Grading & Submission 28 | 29 | * Your design should reflect the following qualities: Intuitive, Efficient, Simple, Consistent, and Delightful. 30 | * You'll be graded based on your strategic creativity, craftsmanship, presentation, and general product design skills. It’s okay to come up with interesting ideas that slightly deviate from the brief or the ideation session, as long as you provide a convincing rationale. 31 | * Submit your assignment here (https://airtable.com/shr2eaeRTGbYJBI5e) in PDF along with your design files in the respective format (Sketch, Figma, PSD, etc). Please include a breakdown of your time spent in the PDF. 32 | * You should not spend more than 3 hours doing this exercise. Feel free to share your thoughts on what you could have been done if given more time. 33 | 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Interview Process at GoodNotes 2 | 3 | We are hiring across the board at GoodNotes. Check out what is like working with us at https://www.goodnotes.com/careers/ 4 | 5 | Join us to do the best work of your life. 6 | 7 | ## Overview of our interview process: 8 | 9 | 1. Opportunity to ask us any questions (30 minutes) 10 | - Optional call with a member of our Talent team to learn more about GoodNotes 11 | 2. Showcase your expertise (1 - 4 hours depending on role) 12 | - Depending on the role you are applying for, you may be asked to work on a take-home challenge. This will be sent to you via email with clear instructions and grading guidelines. 13 | - For Software Engineering roles specifically, we may conduct a 50-min Hackerrank online test instead of a take-home challenge. 14 | 3. Role-specific assessment (1 - 2 hours) 15 | - Video interview with members of the functional team you are applying to 16 | - Depending on the specific role, you might be asked to work on a hands-on challenge to showcase your skills, via screen share, or just go through a combination of competency and role-specific questions. 17 | - For Engineering roles specifically, this will consist of a combination of programming excercises: algorithms, basic data structures and system design. 18 | 4. Meet the wider team (2 hours) 19 | - Hong Kong*: Onsite interview with us at our office 20 | - UK/Remote: Virtual onsite interview with us via video call 21 | 1. Two to three one-on-one interviews with our team members/hiring managers 22 | 2. Opportunity to meet the cross-functional team members who work in your timezone 23 | - As a way for the team to know you better, we ask you to talk about any personal projects you may have or anything you are passionate about (5-10 minutes). 24 | 25 | - We aim to get back to you within 2-3 days of your final round interview with either an offer or reasons why we may not be a good fit for you 26 | -------------------------------------------------------------------------------- /Video Producer.md: -------------------------------------------------------------------------------- 1 | Video Content Producer Take Home Challenge 2 | === 3 | This is a challenge to evaluate candidates interested in joining the GoodNotes team. It is meant to be fun and short (<4 hrs) 4 | and serve as a way for the team to understand your approach in tackling problems. 5 | 6 | ### Challenge 7 | You’re asked to produce a 1-2 minute video about one of the three following topics: 8 | 1) What’s your video production process? 9 | 2) What’s on my desk - video producer edition. A showcase of your equipment and production set up. 10 | 3) A product I love 11 | 12 | Show us your creativity. It is completely up to you what kind of video you’re making. If you feel stuck, take a look at the 13 | examples of videos we’re expecting to produce at GoodNotes. But please keep in mind not to spend longer than 4 hours in 14 | total on the take home challenge. We don’t want to steal too much of your time, and we also want to see what you can 15 | come up with when there is only a limited time available. 16 | 17 | ### What we’re looking for and how your assignment will be graded 18 | 19 | Please read carefully before starting the challenge! 20 | 21 | Unless you can tell a really thrilling story, a simple screen recording is likely not enough for us to get an understanding of 22 | how you work. 23 | 24 | Good luck and have fun! 25 | 26 | ### Submission 27 | 28 | Please submit your assignment [here](https://airtable.com/shr2eaeRTGbYJBI5e). 29 | -------------------------------------------------------------------------------- /communitymanager.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Take-Home Challenge for Community Manager Roles 2 | === 3 | This is a challenge to evaluate candidates interested in joining the GoodNotes team. It is meant to be fun (<4 hrs) and serve as a way for the team to gain more insight about you as a Community Manager candidate. 4 | 5 | ### Assignment 6 | 7 | You're asked to create a fictional social media profile on a specific topic of your own choice (feel free to choose the most suitable channel yourself) and curate something on there. Please also write one page to talk about your rationales behind picking the content and the approach you took. 8 | 9 | We are not expecting you to create all the content yourselves. You can select it from elsewhere as well if you want as long as it is sufficient to show your creativity, taste, communication skills and social media affinity. 10 | 11 | ### Grading & Submission 12 | Please share the one page summary (with the public account link) [here](https://airtable.com/shr2eaeRTGbYJBI5e). 13 | -------------------------------------------------------------------------------- /customer-support.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Take-Home Challenge for Customer Support Roles 2 | === 3 | Below, you will find a list of cases that our customer support team is facing on a regular basis. It is meant to be short (<4 hrs) and serve as a way for the team to understand your approach on customer support. 4 | 5 | ### Introduction 6 | 7 | Please read through the cases carefully. Some cases require you to formulate a reply that you would send to a customer via email. For other cases, we'd like to see your elaborations on possible solutions. All cases have multiple ways to solve them and there are no wrong answers. If you identify a solution to the problem that is technically working but may not be feasible to suggest to the customer, please add them to your answer as well. You should not take more than 4 hours to complete the assignment. 8 | 9 | #### Tips to master the take home assignment 10 | * Read through the cases carefully 11 | * Stay open-minded - There are multiple ways to solve a problem. Sometimes, the solution may not be a feature in GoodNotes itself 12 | * Try to think outside of the box. Just because a solution sounds to complicated doesn't mean that it is wrong 13 | 14 | ### Cases 15 | 16 | *Removing highlighter strokes* 17 | 18 | A customer has written a sentence with the fountain pen and highlighted several words in it using the highlighter. She realizes that one of the words doesn’t need to be highlighted anymore and wants to remove it. Explain all different options you can think of how the customer could remove the highlighter without also removing the underlying pen strokes. 19 | 20 | 21 | *Changing the paper template* 22 | 23 | A customer imported a PDF book and annoted a page. She discovers the option to change the paper template and tries it out. Accidentally, she changed the template to a blank page. Explain one way how she can reverse this step. Formulate your answer in a way you would explain it in an email to a customer. 24 | 25 | 26 | *Bulk import from email* 27 | 28 | A customer reaches out to us and reports that she wants to use GoodNotes on her iPad to annotate 10 PDF documents that she received in 5 different emails from her coworkers. The customer has access to a Mac and an iPad. Elaborate different options that the customer has to get it done in a convenient way. 29 | 30 | 31 | *Folders vs Notebooks* 32 | 33 | A new user is reaching out to us via email explaining that he has problems understanding the difference between folders and notebooks in GoodNotes. Formulate your answer in a way you would explain it in an email to a customer. 34 | 35 | 36 | *Writing on margins* 37 | 38 | A customer contacts our support team and tells you that she has a PDF page with a lot of text where she wants to make annotations on the side but the margin is not wide enough. She asks whether there is such a feature in GoodNotes and if not, how she could get it done anyway. Elaborate different options that could be recommended. 39 | 40 | 41 | *Lost notes* 42 | 43 | A customer is reaching out to us reporting that she was in the middle of a meeting, when GoodNotes suddenly crashed and all her meeting notes were suddenly gone, nowhere to be found. The engineering team told you that the notes can't be recovered. Please formulate a reply to the customer. 44 | 45 | 46 | *Refund request* 47 | 48 | A customer contacts our support team and mentions that she doesn't like the app and she'd like to get her money back. Elaborate how you would react? 49 | 50 | 51 | ### Grading & Submission 52 | You'll be graded based on product knowledge, hardware and operating system knowledge, written communication, abstract thinking, critical thinking and problem solving skills. Please submit your assignment [here](https://airtable.com/shr2eaeRTGbYJBI5e). 53 | -------------------------------------------------------------------------------- /digitalmarketing.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Take-Home Challenge for Digital Marketing Roles 2 | === 3 | This is a challenge to evaluate candidates interested in joining the GoodNotes team. It is meant to be fun and short (<4 hrs) and serve as a way for the team to understand your approach in tackling problems. 4 | 5 | ### Assignment 6 | 7 | You're asked to outline a *go-to-market strategy* and elaborate on the tactics. The product is... YOU! The target audience for this product is the team behind GoodNotes who's actively looking to hire a new Digital Marketing Manager. 8 | 9 | You're free to choose the format in which you want to deliver your take-home assignment and we encourage creativity and hope you'll surprise us. Nevertheless, here are a few points that you should consider covering in the approach: 10 | 11 | * What are the unique selling points and the value proposition of the product? 12 | * How do you position the product against other products in the same category? 13 | * Which channels would you use to promote the product? 14 | * Ideas for marketing campaigns you have to promote the product. 15 | * How you measure success 16 | 17 | 18 | ### Grading & Submission 19 | Please submit your assignment [here](https://airtable.com/shr2eaeRTGbYJBI5e). 20 | -------------------------------------------------------------------------------- /growth.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Take-Home Challenge for Growth Roles 2 | === 3 | This is a challenge to evaluate candidates interested in joining the GoodNotes team. It is meant to be fun and short (<4 hrs) and serve as a way for the team to understand your approach in tackling problems. 4 | 5 | ### Assignment 6 | 7 | If you were the Growth Lead for LinkedIn, how would you 10x this product? Please outline a growth strategy and elaborate on the tactics in max. 2 pages of pdf, we highly encourage creatively and hope you’ll surprise us. 8 | 9 | ### Grading & Submission 10 | You will be graded in terms of written communication, thought process, decision making ability, prioritisation skills and creativity. Please submit your assignment [here](https://airtable.com/shr2eaeRTGbYJBI5e). 11 | -------------------------------------------------------------------------------- /office-admin.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Take-Home Challenge for Office Administrator Roles 2 | === 3 | Below, you will find a list of cases that Office Administrator might be facing on a regular basis. Please read through the cases carefully. Some cases require you to formulate a reply that you would send over to a partner via email. For other cases, we’d like to see your solution and a short explanation of your thinking process. 4 | 5 | You should not take more than 3 hours to complete the assignment. 6 | 7 | #### Tips to master the take home assignment 8 | * Read through the cases carefully 9 | * Stay open-minded - there are no right or wrong answers. 10 | * Try to think outside of the box. Just because a solution is not common doesn’t mean that it is wrong. 11 | 12 | ### Cases 13 | 14 | *Hygiene of the toilets* 15 | 16 | Some people in the office have complained that the toilets are always very dirty, with liquid on the seat of the toilet and on the ground, the situation did not improve at all even though you have already reminded the team several times on Slack to keep the toilets clean. How would you handle this issue that is happening repeatedly? 17 | 18 | *How to prioritise your day* 19 | 20 | Now its’ 9am, imagine you have the following tasks to complete today. Explain how you would prioritize them and why: 21 | 22 | * Reply to an employee in Slack who is asking you about ways to claim insurance. 23 | * Restock the medical kit of office. 24 | * Restock the coffee bean, the founder is a big fan of coffee 25 | * Source for vendors to fix the water leakage problem in the main meeting room. 26 | * Book tickets and hotel for four employees going to an important and popular conference in San Francisco next week. 27 | * Share employee information with travel agent for the offsite trip, as the deadline is today. 28 | * Seek three offers for our Christmas party, which is taking place on the 23rd and is a rather busy day for corporate events in the specific venues we are targeting. 29 | * Order work equipment for a new hire who is starting in two days time. 30 | * Prepare a the IR56F document for an ex-employee who has left the company 2 weeks ago. 31 | * Order roll-up banners which need to be printed and shipped by next week for an event we are sponsoring. 32 | 33 | *Business partner office visit arrangement* 34 | 35 | An overseas business partner is coming to your office for a meeting with the founder. This partner has never met the founder and has never been to Hong Kong or your office. 36 | 37 | 1. Please draft the Google Calendar invitation and take a screenshot. 38 | 2. Please draft a meeting confirmation email you would send them. You can include all the information that you believe they need to have a pleasant stay. 39 | 3. What would you add if the founder instructed you to go the extra mile for their arrangements? 40 | 41 | *Monthly book keeping* 42 | 43 | You are doing monthly book-keeping for the company, you need organise the following data into spreadsheets using Google Sheets. Please record your screen while you are completing this assignment. 44 | 45 | 46 | * Educational reimbursements of HK$4,700 47 | * Approved employee business trip reimbursements of HK$2,122.10 48 | * Vendor expense of US$3,289.40 49 | * Wednesday team dinner reimbursements of HK$8,963.30 50 | * Coffee bean expense of $8,098 51 | * Sales revenue of US$70,723.01 52 | * Work machine expense of HK$26,199.30 53 | 54 | 55 | 56 | ### Grading & Submission 57 | You’ll be graded on problem solving skills, organisation skills, communication skills, time management skills, flexibility and level of attention to details. Please submit your assignment in a Google Folder [here](https://airtable.com/shr2eaeRTGbYJBI5e). 58 | -------------------------------------------------------------------------------- /project-coordinator.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Take-Home Challenge for Project Coordinator Roles 2 | === 3 | This is a challenge to evaluate candidates interested in joining the GoodNotes team. It is meant to be fun and short (<4 hrs) and serve as a way for the team to understand your approach in tackling problems. 4 | 5 | Answer only one of the following two problems. 6 | 7 | *Problem 1* 8 | We would like to upgrade GoodNotes from iOS 13 compatible to iOS 14, what are the steps you will take to make it happen? 9 | 10 | *Problem 2* 11 | We would like to launch GoodNotes app onto Google Play, what are the steps you will take to make it happen? 12 | 13 | 14 | ### Deliverable 15 | Please draft a Roadmap (including but not limited to critical paths, moving parts and scope). We recommend you to spend no more than 4 hours on this challenge. We understand that it’s impossible to include every component, so please only include those that you think would be most relevant. 16 | 17 | ### Grading & Submission 18 | You’ll be graded based on how you approach the problem in terms of prioritisation, creativity and problem solving skills. Please submit your assignment [here](https://airtable.com/shr2eaeRTGbYJBI5e). 19 | -------------------------------------------------------------------------------- /quality-assurance.md: -------------------------------------------------------------------------------- 1 | Goodnotes - Quality Assurance Take-home Challenge 2 | === 3 | 4 | ### Introduction 5 | You’re joining a software company that is developing a **[worldwide popular calculator app](https://apps.apple.com/app/calculator/id1069511488) for iOS devices**. As the companies only QA person, it is your job to make sure that the app and every update to it fulfill the standards for quality before it is shipped to the App Store. Users heavily rely on the calculator app on a daily basis and small bugs in the core functionality can cause a lot of harm. 6 | 7 | ### Requirements 8 | 9 | The product manager and the design lead provide you with the following requirements for the calculator app: 10 | 11 | ![image (1)](https://user-images.githubusercontent.com/10492461/122173892-d18c4c80-ceb4-11eb-9b54-5ce405b44b94.png) 12 | 13 | * the app needs to run on all iOS devices using iOS 15 or higher 14 | * Only portrait mode is in the scope for this project 15 | * the app allows users to do 4 basic calculations: 16 | * Addition 17 | * Subtraction 18 | * Multiplication 19 | * Division 20 | * The app supports decimals 21 | * The app allows users to calculate with negative and positive algebraic signs 22 | * The app allows users to clear the entry 23 | * Users can clear the current entry and preserve the memory (previous entries) 24 | * Users can clear the current entry and also clear the memory from previous entries 25 | * The app lets users convert any entry from a percentage into a decimal number using % button 26 | * The app allows users to copy the entry 27 | * Users can see which operator (+ - x ÷) is currently selected 28 | 29 | ### Notes / Tips 30 | * Mentioned requirements can work together properly 31 | * Out of scope 32 | * Apple Watch/Mac 33 | * Questionable/unclear behaviors 34 | 35 | ### Deliverable 36 | 37 | You are asked to provide the following: 38 | 1. A document to show the **entry and exit criteria** for QA on this project 39 | 2. **Test cases** that will allow your team to ship an update to the calculator app to the App Store with the necessary confidence (You may use your way of preference to organize your test cases) 40 | 3. Present a few medium complexity test cases in BDD format to prepare automation execution in the future. (You may skip this if you had preference to use BDD format for all the test cases you created) 41 | 42 | Please complete the above two tasks as your take-home assignment. We don’t expect you to take longer than **4 hours** to do it. You’re free to choose the format and the tools you believe are necessary to complete the tasks. Feel free to use an additional document to elaborate on your thoughts, if you feel like it is necessary. 43 | 44 | ### Important Note on AI Tools 45 | * While we embrace AI tools for productivity in our daily work, for this assessment we ask that you complete the work without using AI tools to generate solutions. This helps us evaluate your foundational skills and problem-solving approach. Limited reference use is acceptable, but please note any AI assistance you do utilize. 46 | * Submissions that appear to be primarily AI-generated may result in disqualification. We appreciate your understanding as we strive to make the assessment process fair and effective. 47 | 48 | -------------------------------------------------------------------------------- /recruiter.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Take-Home Challenge for Recruiter Roles 2 | === 3 | This is a challenge to evaluate candidates interested in joining the GoodNotes team. It is meant to be short (<4 hrs) and serve as a way for the team to understand your approach in attracting candidates. 4 | 5 | ### Tip to master the take home assignment 6 | 7 | Try to think from the candidate leads perspective to decide on what to and not to include 8 | 9 | ### Deliverable 10 | Create a recruitment presentation for your favourite company to help them recruit growth engineers. Through this deck, we hope to 11 | 12 | 1) get an overview of the company product/ services and culture 13 | 2) be convinced to apply to the company 14 | 15 | We might ask you to go through the presentation with us. The entire presentation should be 5-10 minutes long, supported by a deck, and allowing around 15 minutes for questions. We don’t expect you to put in more than 4 hours into preparing and creating the deck. 16 | 17 | We know that the company you are working/ worked at might be your favourite but we would love see your research skills, so please choose some other companies for the deck. 18 | 19 | ### Grading & Submission 20 | You’ll be graded on presentation skills, research skills, work culture sensitivity, prioritisation skills and audience-oriented mindset. Please submit your assignment [here](https://airtable.com/shr2eaeRTGbYJBI5e). We may or may not arrange a time for presentation upon receiving the deck. 21 | -------------------------------------------------------------------------------- /software-engineering.md: -------------------------------------------------------------------------------- 1 | GoodNotes - Example of Technical Challenge 2 | 3 | === 4 | 5 | This is an introductory coding challenge to evaluate candidates interested in joining the team at GoodNotes. It is meant to be fun and short (<4 hrs typically) and introduce some of the engineering challenges at GoodNotes. This challenge has now been replaced with a short Hackerrank test, but we keep it here to give you and idea of some of the problems we like to solve and a core element of our technology. 6 | 7 | ### Introduction 8 | 9 | Conflict Free Replicated Data Types (CRDTs) are data structures that power real time collaborative applications in distributed systems. CRDTs can be replicated across systems, they can be updated independently and concurrently without coordination between the replicas, and it is always mathematically possible to resolve inconsistencies which might result. 10 | 11 | #### Recommended Reading 12 | - https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type 13 | - https://github.com/pfrazee/crdt_notes 14 | - https://hal.inria.fr/inria-00555588/PDF/techreport.pdf 15 | 16 | ### Deliverable 17 | **Study [LWW-Element-Set](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type#LWW-Element-Set_(Last-Write-Wins-Element-Set)) and implement a state-based LWW-Element-Dictionary with test cases.** 18 | 19 | Similar to LWW-Element-Set, the dictionary variant you are going to implement will store a timestamp for each key-value pair. In addition to the lookup, add and remove operations, the dictionary variant will also allow updating the value of a key. There should be a function to _merge_ two dictionaries. Test cases should be clearly written and document what aspect of CRDT they test. We recommend you to spend **no more than 4 hours** on this challenge. The provided readings should be sufficient to understand LWW-Element-Set and CRDT on a high level. You are welcome to dig deeper on those but we expect you to come up with the implementation yourself without any help from other open sourced implementations. 20 | 21 | ### Grading & Submission 22 | You'll be graded based on code quality and test coverage, and **you can use any language of choice**. 23 | --------------------------------------------------------------------------------