Sprint Challenge - Web Unit 2 Sprint 8
Technical Assessment Preparation Challenge
This sprint challenge tests your ability to solve technical problems using the frameworks and techniques covered throughout the sprint.
Challenge Overview
Requirements
For this sprint challenge, you will need to:
- Complete a series of algorithm challenges
- Update your GitHub profile and resume
- Submit your solutions on GitHub
Challenge 1: Array Manipulation
Two Sum Problem
Given an array of integers and a target, return the indices of the two numbers that add up to the target.
function twoSum(nums, target) { const map = new Map(); for (let i = 0; i < nums.length; i++) { const complement = target - nums[i]; if (map.has(complement)) { return [map.get(complement), i]; } map.set(nums[i], i); } return null; } // Example: // Input: nums = [2, 7, 11, 15], target = 9 // Output: [0, 1] (because nums[0] + nums[1] = 2 + 7 = 9)
Challenge 2: Palindrome Checker
Valid Palindrome
Determine if a string is a valid palindrome, considering only alphanumeric characters and ignoring case.
function isPalindrome(s) { // Remove non-alphanumeric characters and convert to lowercase const cleaned = s.replace(/[^a-zA-Z0-9]/g, '').toLowerCase(); // Check if the string is the same forward and backward return cleaned === cleaned.split('').reverse().join(''); } // Example: // Input: s = "A man, a plan, a canal: Panama" // Output: true
Challenge 3: Moving Window
Maximum Sum Subarray
Find the contiguous subarray within an array (containing at least one number) that has the largest sum.
function maxSubArray(nums) { if (nums.length === 0) return 0; let maxSum = nums[0]; let currentSum = nums[0]; for (let i = 1; i < nums.length; i++) { // Either start a new subarray or extend the existing one currentSum = Math.max(nums[i], currentSum + nums[i]); // Update the maximum sum if the current sum is greater maxSum = Math.max(maxSum, currentSum); } return maxSum; } // Example: // Input: nums = [-2, 1, -3, 4, -1, 2, 1, -5, 4] // Output: 6 (from subarray [4, -1, 2, 1])
Challenge 4: Career Preparation
GitHub Profile and Resume
Update your GitHub profile to showcase your projects and technical skills. Create or refine your technical resume based on the guidelines covered in Module 4.
- Optimize your GitHub profile with a professional README
- Pin your best repositories to showcase your skills
- Ensure your profile has a professional photo and bio
- Update your technical resume with relevant skills and projects
- Include appropriate keywords and follow the formatting guidelines
Submission Guidelines
Complete all challenges and submit them by the deadline. Ensure your code is well-commented and follows best practices discussed in the sprint.
Your submission should include:
- GitHub repository with your solutions
- Updated GitHub profile link
- PDF of your technical resume