gitextract__wrmwl_2/ ├── .editorconfig ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── lint.yml │ └── tsc.yml ├── .gitignore ├── .vite-hooks/ │ └── pre-commit ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── AGENTS.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── algorithms/ │ └── README.md ├── apps/ │ ├── portal/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── next-env.d.ts │ │ ├── next.config.mjs │ │ ├── package.json │ │ ├── postcss.config.cjs │ │ ├── prisma/ │ │ │ ├── companies.csv │ │ │ ├── data/ │ │ │ │ ├── cities.json │ │ │ │ ├── countries.json │ │ │ │ └── states.json │ │ │ ├── migrations/ │ │ │ │ ├── 20220928103800_init/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221002033341_add_todos/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221006024246_add_companies/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221006090216_add_resume_schemas/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221007062555_add_resume_profile_model/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221007110225_add_questions_model/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221007135344_remove_resumes_profile_model/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221008090846_add_question_types/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221008114522_add_questions_company_loaction_role/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221008165306_update_vote_enum/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221009093357_update_question_encounter_schema/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221009160601_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221010055218_update_question_encounter_to_use_company_id/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221011042156_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221012161857_add_user_to_replies/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221013032033_update_resume_vote_to_enum/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221014192315_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221014205230_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221014211740_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221019104025_update_offers_remove_optional/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221020101123_add_resume_comment_parent/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221020115540_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221021150358_add_vote_count_and_last_seen/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221021151424_delete_extra_encounter_fields/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221021155717_add_sorting_index/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221021231817_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221021233952_change_currency_values_to_float/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221023100925_update_last_seen_val_to_be_optional/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221023102619_add_list_schema/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221023203239_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221024123252_add_upvotes_to_schema/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221024123849_add_upvotes_default_value/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221024154046_remove_specialization_and_make_base_bonus_and_stocks_optional/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221027052436_resumes_add_is_resolved_status/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221029180052_add_ecnounter_sort_support/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221030024321_locations/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221030121147_use_roles_and_location_table/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221030133638_add_theory_enum/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221031033529_change_analysis_models_to_allow_for_multiple_company_analysis/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221102121331_update_location_for_offers/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221103031927_change_company_in_analysis_unit/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221104042559_add_reference_to_analysed_offer_in_analysis_unit/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221104084342_add_cascade_delete_to_analysed_offer_in_analysis_unit/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221104084451_add_cascade_delete_to_overall_analysis_in_offers_analysis/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221104095551_use_location_database_for_resumes/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221105140124_revert_default_location/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221106002645_country_ranking/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221107014555_company_website/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221108061935_add_comment_deletion/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221109070931_company_city_ranking/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20221117094655_add_offersadmin_table/ │ │ │ │ │ └── migration.sql │ │ │ │ └── migration_lock.toml │ │ │ ├── salaries.xlsx │ │ │ ├── schema.prisma │ │ │ ├── seed-analysis.ts │ │ │ ├── seed-companies.ts │ │ │ ├── seed-questions.ts │ │ │ ├── seed-salaries.ts │ │ │ └── seed.ts │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ ├── global/ │ │ │ │ │ ├── AppShell.tsx │ │ │ │ │ ├── GlobalNavigation.ts │ │ │ │ │ ├── GoogleAnalytics.tsx │ │ │ │ │ ├── HomeNavigation.ts │ │ │ │ │ ├── MobileNavigation.tsx │ │ │ │ │ └── ProductNavigation.tsx │ │ │ │ ├── offers/ │ │ │ │ │ ├── Breadcrumbs.tsx │ │ │ │ │ ├── EducationFields.ts │ │ │ │ │ ├── EducationLevels.ts │ │ │ │ │ ├── InternshipCycles.ts │ │ │ │ │ ├── JobTypeTabs.tsx │ │ │ │ │ ├── OffersNavigation.tsx │ │ │ │ │ ├── Years.ts │ │ │ │ │ ├── admin/ │ │ │ │ │ │ ├── OffersHeader.tsx │ │ │ │ │ │ ├── OffersRow.tsx │ │ │ │ │ │ ├── OffersTable.tsx │ │ │ │ │ │ ├── OffersTablePagination.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── dashboard/ │ │ │ │ │ │ ├── DashboardOfferCard.tsx │ │ │ │ │ │ └── DashboardProfileCard.tsx │ │ │ │ │ ├── features/ │ │ │ │ │ │ ├── LeftTextCard.tsx │ │ │ │ │ │ └── RightTextCard.tsx │ │ │ │ │ ├── forms/ │ │ │ │ │ │ ├── FormCitiesTypeahead.tsx │ │ │ │ │ │ ├── FormCompaniesTypeahead.tsx │ │ │ │ │ │ ├── FormJobTitlesTypeahead.tsx │ │ │ │ │ │ ├── FormMonthYearPicker.tsx │ │ │ │ │ │ ├── FormRadioList.tsx │ │ │ │ │ │ ├── FormSection.tsx │ │ │ │ │ │ ├── FormSelect.tsx │ │ │ │ │ │ ├── FormTextArea.tsx │ │ │ │ │ │ └── FormTextInput.tsx │ │ │ │ │ ├── offerAnalysis/ │ │ │ │ │ │ ├── OfferAnalysis.tsx │ │ │ │ │ │ ├── OfferPercentileAnalysisText.tsx │ │ │ │ │ │ └── OfferProfileCard.tsx │ │ │ │ │ ├── offersSubmission/ │ │ │ │ │ │ ├── OffersProfileSave.tsx │ │ │ │ │ │ ├── OffersSubmissionAnalysis.tsx │ │ │ │ │ │ ├── OffersSubmissionForm.tsx │ │ │ │ │ │ └── submissionForm/ │ │ │ │ │ │ ├── BackgroundForm.tsx │ │ │ │ │ │ └── OfferDetailsForm.tsx │ │ │ │ │ ├── profile/ │ │ │ │ │ │ ├── EducationCard.tsx │ │ │ │ │ │ ├── OfferCard.tsx │ │ │ │ │ │ ├── ProfileComments.tsx │ │ │ │ │ │ ├── ProfileDetails.tsx │ │ │ │ │ │ ├── ProfileHeader.tsx │ │ │ │ │ │ ├── ProfilePhotoHolder.tsx │ │ │ │ │ │ └── comments/ │ │ │ │ │ │ ├── CommentCard.tsx │ │ │ │ │ │ └── ExpandableCommentCard.tsx │ │ │ │ │ ├── table/ │ │ │ │ │ │ ├── OffersHeader.tsx │ │ │ │ │ │ ├── OffersRow.tsx │ │ │ │ │ │ ├── OffersTable.tsx │ │ │ │ │ │ ├── OffersTablePagination.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── util/ │ │ │ │ │ └── Tooltip.tsx │ │ │ │ ├── questions/ │ │ │ │ │ ├── AddToListDropdown.tsx │ │ │ │ │ ├── ContributeQuestionCard.tsx │ │ │ │ │ ├── ContributeQuestionDialog.tsx │ │ │ │ │ ├── CreateListDialog.tsx │ │ │ │ │ ├── DeleteListDialog.tsx │ │ │ │ │ ├── DiscardDraftDialog.tsx │ │ │ │ │ ├── FullScreenSpinner.tsx │ │ │ │ │ ├── LandingComponent.tsx │ │ │ │ │ ├── PaginationLoadMoreButton.tsx │ │ │ │ │ ├── QuestionAggregateBadge.tsx │ │ │ │ │ ├── QuestionContainer.tsx │ │ │ │ │ ├── QuestionSearchBar.tsx │ │ │ │ │ ├── QuestionTypeBadge.tsx │ │ │ │ │ ├── QuestionsNavigation.tsx │ │ │ │ │ ├── SortOptionsSelect.tsx │ │ │ │ │ ├── VotingButtons.tsx │ │ │ │ │ ├── card/ │ │ │ │ │ │ ├── AnswerCard.tsx │ │ │ │ │ │ ├── FullAnswerCard.tsx │ │ │ │ │ │ ├── QuestionAnswerCard.tsx │ │ │ │ │ │ └── question/ │ │ │ │ │ │ ├── BaseQuestionCard.tsx │ │ │ │ │ │ ├── FullQuestionCard.tsx │ │ │ │ │ │ ├── QuestionListCard.tsx │ │ │ │ │ │ ├── QuestionOverviewCard.tsx │ │ │ │ │ │ └── SimilarQuestionCard.tsx │ │ │ │ │ ├── comments/ │ │ │ │ │ │ ├── AnswerCommentListItem.tsx │ │ │ │ │ │ ├── CommentListItem.tsx │ │ │ │ │ │ └── QuestionCommentListItem.tsx │ │ │ │ │ ├── filter/ │ │ │ │ │ │ └── FilterSection.tsx │ │ │ │ │ ├── forms/ │ │ │ │ │ │ ├── ContributeQuestionForm.tsx │ │ │ │ │ │ └── CreateQuestionEncounterForm.tsx │ │ │ │ │ ├── layout/ │ │ │ │ │ │ └── BackButtonLayout.tsx │ │ │ │ │ ├── protected/ │ │ │ │ │ │ ├── ProtectedContextProvider.tsx │ │ │ │ │ │ └── ProtectedDialog.tsx │ │ │ │ │ └── typeahead/ │ │ │ │ │ ├── CompanyTypeahead.tsx │ │ │ │ │ ├── ExpandedTypeahead.tsx │ │ │ │ │ ├── LocationTypeahead.tsx │ │ │ │ │ └── RoleTypeahead.tsx │ │ │ │ ├── resumes/ │ │ │ │ │ ├── ResumePdf.tsx │ │ │ │ │ ├── ResumesNavigation.tsx │ │ │ │ │ ├── badgeIcons/ │ │ │ │ │ │ ├── popularResumes/ │ │ │ │ │ │ │ ├── ResumeBadgeCoolIcon.tsx │ │ │ │ │ │ │ ├── ResumeBadgeRocketIcon.tsx │ │ │ │ │ │ │ └── ResumeBadgeTreasureIcon.tsx │ │ │ │ │ │ ├── resume-badge.d.ts │ │ │ │ │ │ ├── reviewer/ │ │ │ │ │ │ │ ├── ResumeBadgeDetectiveIcon.tsx │ │ │ │ │ │ │ ├── ResumeBadgeEagleIcon.tsx │ │ │ │ │ │ │ └── ResumeBadgeSuperheroIcon.tsx │ │ │ │ │ │ └── topComment/ │ │ │ │ │ │ ├── ResumeBadgeBookIcon.tsx │ │ │ │ │ │ ├── ResumeBadgeOwlIcon.tsx │ │ │ │ │ │ └── ResumeBadgeSageIcon.tsx │ │ │ │ │ ├── badges/ │ │ │ │ │ │ ├── ResumeUserBadge.tsx │ │ │ │ │ │ ├── ResumeUserBadges.tsx │ │ │ │ │ │ └── resumeBadgeConstants.ts │ │ │ │ │ ├── browse/ │ │ │ │ │ │ ├── ResumeFilterPill.tsx │ │ │ │ │ │ ├── ResumeListItem.tsx │ │ │ │ │ │ └── ResumeListItems.tsx │ │ │ │ │ ├── comments/ │ │ │ │ │ │ ├── ResumeCommentListItem.tsx │ │ │ │ │ │ ├── ResumeCommentsForm.tsx │ │ │ │ │ │ ├── ResumeCommentsList.tsx │ │ │ │ │ │ ├── comment/ │ │ │ │ │ │ │ ├── ResumeCommentDeleteForm.tsx │ │ │ │ │ │ │ ├── ResumeCommentEditForm.tsx │ │ │ │ │ │ │ ├── ResumeCommentReplyForm.tsx │ │ │ │ │ │ │ └── ResumeCommentVoteButtons.tsx │ │ │ │ │ │ └── resumeCommentConstants.ts │ │ │ │ │ ├── landing/ │ │ │ │ │ │ ├── CallToAction.tsx │ │ │ │ │ │ ├── Container.tsx │ │ │ │ │ │ ├── Hero.tsx │ │ │ │ │ │ ├── Logo.tsx │ │ │ │ │ │ └── PrimaryFeatures.tsx │ │ │ │ │ ├── shared/ │ │ │ │ │ │ ├── ResumeExpandableText.tsx │ │ │ │ │ │ ├── ResumeExperienceTypeahead.tsx │ │ │ │ │ │ └── ResumeSignInButton.tsx │ │ │ │ │ └── submit-form/ │ │ │ │ │ └── ResumeSubmissionGuidelines.tsx │ │ │ │ └── shared/ │ │ │ │ ├── CitiesTypeahead.tsx │ │ │ │ ├── CompaniesTypeahead.tsx │ │ │ │ ├── CompanyProfileImage.tsx │ │ │ │ ├── Container.tsx │ │ │ │ ├── CountriesTypeahead.tsx │ │ │ │ ├── JobTitles.ts │ │ │ │ ├── JobTitlesTypeahead.tsx │ │ │ │ ├── MonthYearPicker.tsx │ │ │ │ ├── icons/ │ │ │ │ │ └── GitHubIcon.tsx │ │ │ │ └── loginPageHref.ts │ │ │ ├── constants/ │ │ │ │ └── file-storage-keys.ts │ │ │ ├── env/ │ │ │ │ ├── client.mjs │ │ │ │ ├── schema.mjs │ │ │ │ └── server.mjs │ │ │ ├── mappers/ │ │ │ │ └── offers-mappers.ts │ │ │ ├── middleware.ts │ │ │ ├── pages/ │ │ │ │ ├── 404.tsx │ │ │ │ ├── _app.tsx │ │ │ │ ├── _document.tsx │ │ │ │ ├── api/ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ └── [...nextauth].ts │ │ │ │ │ ├── file-storage.ts │ │ │ │ │ ├── restricted.ts │ │ │ │ │ └── trpc/ │ │ │ │ │ └── [trpc].ts │ │ │ │ ├── index.tsx │ │ │ │ ├── login.tsx │ │ │ │ ├── offers/ │ │ │ │ │ ├── about.tsx │ │ │ │ │ ├── admin.tsx │ │ │ │ │ ├── dashboard.tsx │ │ │ │ │ ├── features.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── profile/ │ │ │ │ │ │ ├── [offerProfileId].tsx │ │ │ │ │ │ └── edit/ │ │ │ │ │ │ └── [offerProfileId].tsx │ │ │ │ │ └── submit/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── result/ │ │ │ │ │ └── [offerProfileId].tsx │ │ │ │ ├── profile.tsx │ │ │ │ ├── questions/ │ │ │ │ │ ├── [questionId]/ │ │ │ │ │ │ └── [questionSlug]/ │ │ │ │ │ │ ├── answer/ │ │ │ │ │ │ │ └── [answerId]/ │ │ │ │ │ │ │ └── [answerSlug]/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── about.tsx │ │ │ │ │ ├── browse.tsx │ │ │ │ │ ├── history.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── lists.tsx │ │ │ │ │ └── my-questions.tsx │ │ │ │ ├── resumes/ │ │ │ │ │ ├── [resumeId].tsx │ │ │ │ │ ├── about.tsx │ │ │ │ │ ├── features.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── submit.tsx │ │ │ │ ├── settings.tsx │ │ │ │ ├── test__.tsx │ │ │ │ └── todos/ │ │ │ │ ├── index.tsx │ │ │ │ └── new.tsx │ │ │ ├── server/ │ │ │ │ ├── common/ │ │ │ │ │ └── get-server-auth-session.ts │ │ │ │ ├── db/ │ │ │ │ │ └── client.ts │ │ │ │ └── router/ │ │ │ │ ├── companies-router.ts │ │ │ │ ├── context.ts │ │ │ │ ├── index.ts │ │ │ │ ├── locations-router.ts │ │ │ │ ├── offers/ │ │ │ │ │ ├── offers-admin-router.ts │ │ │ │ │ ├── offers-analysis-router.ts │ │ │ │ │ ├── offers-comments-router.ts │ │ │ │ │ ├── offers-profile-router.ts │ │ │ │ │ ├── offers-user-profile-router.ts │ │ │ │ │ └── offers.ts │ │ │ │ ├── protected-example-router.ts │ │ │ │ ├── questions/ │ │ │ │ │ ├── questions-answer-comment-router.ts │ │ │ │ │ ├── questions-answer-comment-user-router.ts │ │ │ │ │ ├── questions-answer-router.ts │ │ │ │ │ ├── questions-answer-user-router.ts │ │ │ │ │ ├── questions-list-router.ts │ │ │ │ │ ├── questions-question-comment-router.ts │ │ │ │ │ ├── questions-question-comment-user-router.ts │ │ │ │ │ ├── questions-question-encounter-router.ts │ │ │ │ │ ├── questions-question-encounter-user-router.ts │ │ │ │ │ ├── questions-question-router.ts │ │ │ │ │ └── questions-question-user-router.ts │ │ │ │ ├── resumes/ │ │ │ │ │ ├── resumes-comments-router.ts │ │ │ │ │ ├── resumes-comments-user-router.ts │ │ │ │ │ ├── resumes-comments-votes-router.ts │ │ │ │ │ ├── resumes-comments-votes-user-router.ts │ │ │ │ │ ├── resumes-resume-router.ts │ │ │ │ │ ├── resumes-resume-user-router.ts │ │ │ │ │ └── resumes-star-user-router.ts │ │ │ │ ├── todos-user-router.ts │ │ │ │ ├── todos.ts │ │ │ │ └── user-router.ts │ │ │ ├── styles/ │ │ │ │ └── globals.css │ │ │ ├── types/ │ │ │ │ ├── index.d.ts │ │ │ │ ├── next-auth.d.ts │ │ │ │ ├── offers.d.ts │ │ │ │ ├── questions.d.ts │ │ │ │ ├── resume-comments.d.ts │ │ │ │ └── resume.d.ts │ │ │ ├── ui/ │ │ │ │ ├── Alert/ │ │ │ │ │ └── Alert.tsx │ │ │ │ ├── Badge/ │ │ │ │ │ └── Badge.tsx │ │ │ │ ├── Banner/ │ │ │ │ │ └── Banner.tsx │ │ │ │ ├── Button/ │ │ │ │ │ └── Button.tsx │ │ │ │ ├── CheckboxInput/ │ │ │ │ │ └── CheckboxInput.tsx │ │ │ │ ├── CheckboxList/ │ │ │ │ │ └── CheckboxList.tsx │ │ │ │ ├── Collapsible/ │ │ │ │ │ └── Collapsible.tsx │ │ │ │ ├── Dialog/ │ │ │ │ │ └── Dialog.tsx │ │ │ │ ├── DropdownMenu/ │ │ │ │ │ ├── DropdownMenu.tsx │ │ │ │ │ └── DropdownMenuItem.tsx │ │ │ │ ├── HorizontalDivider/ │ │ │ │ │ └── HorizontalDivider.tsx │ │ │ │ ├── Pagination/ │ │ │ │ │ └── Pagination.tsx │ │ │ │ ├── RadioList/ │ │ │ │ │ ├── RadioList.tsx │ │ │ │ │ ├── RadioListContext.ts │ │ │ │ │ └── RadioListItem.tsx │ │ │ │ ├── Select/ │ │ │ │ │ └── Select.tsx │ │ │ │ ├── SlideOut/ │ │ │ │ │ └── SlideOut.tsx │ │ │ │ ├── Spinner/ │ │ │ │ │ └── Spinner.tsx │ │ │ │ ├── Tabs/ │ │ │ │ │ └── Tabs.tsx │ │ │ │ ├── TextArea/ │ │ │ │ │ └── TextArea.tsx │ │ │ │ ├── TextInput/ │ │ │ │ │ └── TextInput.tsx │ │ │ │ ├── Toast/ │ │ │ │ │ ├── Toast.tsx │ │ │ │ │ └── ToastsProvider.tsx │ │ │ │ ├── Typeahead/ │ │ │ │ │ └── Typeahead.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── styles.css │ │ │ └── utils/ │ │ │ ├── JobExperienceLevel.ts │ │ │ ├── offers/ │ │ │ │ ├── analysis/ │ │ │ │ │ ├── analysisGeneration.ts │ │ │ │ │ └── analysisInclusion.ts │ │ │ │ ├── currency/ │ │ │ │ │ ├── CurrencyEnum.tsx │ │ │ │ │ ├── CurrencySelector.tsx │ │ │ │ │ ├── currencyExchange.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── form.tsx │ │ │ │ ├── link.tsx │ │ │ │ ├── randomGenerator.ts │ │ │ │ ├── randomNameGenerator.ts │ │ │ │ ├── string.tsx │ │ │ │ ├── time.tsx │ │ │ │ ├── useSearchParam.ts │ │ │ │ └── zodRegex.ts │ │ │ ├── questions/ │ │ │ │ ├── RequireAllOrNone.ts │ │ │ │ ├── companySlug.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── createSlug.ts │ │ │ │ ├── locationSlug.ts │ │ │ │ ├── mutations.ts │ │ │ │ ├── relabelQuestionAggregates.ts │ │ │ │ ├── server/ │ │ │ │ │ └── aggregate-encounters.ts │ │ │ │ ├── useDefaultCompany.ts │ │ │ │ ├── useDefaultLocation.ts │ │ │ │ ├── useFormRegister.ts │ │ │ │ ├── useLocationOptions.ts │ │ │ │ ├── useProtectedCallback.ts │ │ │ │ ├── useSearchParam.ts │ │ │ │ ├── vote/ │ │ │ │ │ ├── useAnswerCommentVote.ts │ │ │ │ │ ├── useAnswerVote.ts │ │ │ │ │ ├── useQuestionCommentVote.ts │ │ │ │ │ ├── useQuestionVote.ts │ │ │ │ │ └── useVote.ts │ │ │ │ └── withHref.tsx │ │ │ ├── resumes/ │ │ │ │ ├── resumeFilters.ts │ │ │ │ ├── resumePrismaUtils.ts │ │ │ │ ├── useDebounceValue.ts │ │ │ │ └── useSearchParams.ts │ │ │ ├── shared/ │ │ │ │ ├── useCompanyOptions.ts │ │ │ │ ├── useCountryOptions.ts │ │ │ │ └── useJobTitleOptions.ts │ │ │ ├── supabase.ts │ │ │ └── trpc.ts │ │ ├── tailwind.config.cjs │ │ ├── tsconfig.json │ │ └── vercel.json │ └── website/ │ ├── .gitignore │ ├── .npmrc │ ├── README.md │ ├── blog/ │ │ ├── 2019-11-03-are-front-end-development-enough-for-a-career.md │ │ ├── 2020-05-28-summing-root-to-leaf-numbers.md │ │ ├── 2021-04-12-importance-of-communicating-effectively-as-an-engineer.md │ │ ├── 2021-08-19-facebook-career-questions-and-answers.md │ │ ├── 2021-08-28-front-end-career-questions.md │ │ ├── 2021-08-29-resume-improvement-case-study.md │ │ ├── 2021-08-30-a-glimpse-into-front-end-interviews.md │ │ ├── 2021-10-30-my-experience-working-as-a-meta-engineer.md │ │ ├── 2021-12-23-front-end-vs-back-end-system-design-interviews.md │ │ ├── 2022-04-20-take-control-over-your-coding-interview.md │ │ ├── 2022-04-21-why-you-should-include-debugging-in-the-interview-process.md │ │ ├── 2022-07-09-getting-a-tech-job-as-an-undergraduate.md │ │ └── 2023-05-17-how-to-have-successful-software-engineering-internship.md │ ├── contents/ │ │ ├── _components/ │ │ │ ├── InDocAd.js │ │ │ ├── QuestionGroups.json │ │ │ └── QuestionList.js │ │ ├── _courses/ │ │ │ └── AlgorithmCourses.md │ │ ├── algorithms/ │ │ │ ├── __template__.md │ │ │ ├── array.md │ │ │ ├── binary.md │ │ │ ├── dynamic-programming.md │ │ │ ├── geometry.md │ │ │ ├── graph.md │ │ │ ├── hash-table.md │ │ │ ├── heap.md │ │ │ ├── interval.md │ │ │ ├── linked-list.md │ │ │ ├── math.md │ │ │ ├── matrix.md │ │ │ ├── oop.md │ │ │ ├── queue.md │ │ │ ├── recursion.md │ │ │ ├── sorting-searching.md │ │ │ ├── stack.md │ │ │ ├── string.md │ │ │ ├── study-cheatsheet.md │ │ │ ├── tree.md │ │ │ └── trie.md │ │ ├── behavioral-interview-questions.md │ │ ├── behavioral-interview-rubrics.md │ │ ├── behavioral-interview-senior-candidates.md │ │ ├── behavioral-interview.md │ │ ├── best-coding-interview-courses.md │ │ ├── best-practice-questions.md │ │ ├── career-growth.md │ │ ├── choosing-between-companies.md │ │ ├── coding-interview-cheatsheet.md │ │ ├── coding-interview-prep.md │ │ ├── coding-interview-rubrics.md │ │ ├── coding-interview-study-plan.md │ │ ├── coding-interview-techniques.md │ │ ├── engineering-levels.md │ │ ├── final-questions.md │ │ ├── interview-formats-top-companies.md │ │ ├── interviewer-cheatsheet.md │ │ ├── landscape.md │ │ ├── mock-interviews.md │ │ ├── negotiation-rules.md │ │ ├── negotiation.md │ │ ├── programming-languages-for-coding-interviews.md │ │ ├── resume-old.md │ │ ├── resume.md │ │ ├── self-introduction.md │ │ ├── software-engineering-interview-guide.md │ │ ├── system-design.md │ │ └── understanding-compensation.md │ ├── docusaurus.config.js │ ├── experimental/ │ │ ├── front-end/ │ │ │ └── README.md │ │ ├── topics.md │ │ └── utilities/ │ │ ├── javascript/ │ │ │ ├── binToInt.js │ │ │ ├── binarySearch.js │ │ │ ├── deepEqual.js │ │ │ ├── graphTopoSort.js │ │ │ ├── intToBin.js │ │ │ ├── intervalsIntersect.js │ │ │ ├── intervalsMerge.js │ │ │ ├── isSubsequence.js │ │ │ ├── matrixClone.js │ │ │ ├── matrixTranspose.js │ │ │ ├── matrixTraverse.js │ │ │ ├── mergeSort.js │ │ │ ├── treeEqual.js │ │ │ └── treeMirror.js │ │ └── python/ │ │ ├── binary_search.py │ │ ├── char_prime_map.py │ │ ├── graph_dfs.py │ │ ├── graph_topo_sort.py │ │ ├── heap.py │ │ ├── is_subsequence.py │ │ ├── linked_list.py │ │ ├── quick_select.py │ │ ├── rabin_karp_hash.py │ │ ├── tree_equal.py │ │ ├── tree_mirror.py │ │ ├── tree_traversal.py │ │ ├── trie.py │ │ └── union_find.py │ ├── functions/ │ │ └── grind75/ │ │ └── [[catchall]].js │ ├── package.json │ ├── sidebars.js │ ├── src/ │ │ ├── components/ │ │ │ └── SidebarAd/ │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── css/ │ │ │ └── custom.css │ │ ├── data/ │ │ │ └── successStories.js │ │ ├── pages/ │ │ │ ├── advertise.md │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ └── theme/ │ │ ├── DocItem/ │ │ │ ├── Content/ │ │ │ │ └── index.js │ │ │ └── Layout/ │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── DocSidebar/ │ │ │ └── Mobile/ │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ └── TOC/ │ │ ├── index.js │ │ └── styles.module.css │ └── static/ │ ├── CNAME │ ├── _redirects │ └── ads.txt ├── package.json ├── packages/ │ ├── tailwind-config/ │ │ ├── package.json │ │ └── tailwind.config.js │ └── tsconfig/ │ ├── base.json │ ├── nextjs.json │ ├── package.json │ └── react-library.json ├── pnpm-workspace.yaml └── vite.config.ts