Introduction to Data Structures for Interviews

بواسطة: Frontend Masters

Overview

In this course, Bianca Gandolfo — JavaScript consultant and returning Frontend Masters instructor — demonstrates how to organize and use data efficiently with data structures. Following along with the course, you'll learn to implement the most common data structures such as linked lists, hash tables, and stacks/queues. Plus, review and solve common technical interview questions through practice and solution walkthroughs!

Syllabus

  • Series Overview
  • Interview Process
  • Common Interview Mistakes
  • Interview Questions Q&A
  • Data Structure
  • Course Overview
  • Types of Data Structures
  • Stacks & Queues
  • Linked List Introduction
  • Linked List Demo
  • Link List Use Cases
  • Draw Stacks, Queues & Linked Lists
  • Stacks, Queues & Linked Lists Drawings
  • Hash Tables
  • Hash Tables Use Cases, Arrays & Strings
  • Draw Hash Tables, Array & Strings
  • Overview & Stack Exercise
  • Exercise Prep Q&A
  • Stack: Push & Pop Methods
  • Stack: Edge Cases
  • Stack: Peek Method
  • Stack: Q&A
  • Queue Exercise
  • Queue: Method Usage
  • Queue: Enqueue & Dequeue
  • Queue: Q&A
  • Linked List Exercise
  • Linked List: Usage & Constructor
  • Linked List: Insert Method
  • Linked List: Insert Q&A
  • Linked List: Remove Tail
  • Linked List: Q&A
  • Linked List: Head, Tail & Contains
  • Linked List Commentary
  • Hash Table Exercise
  • Hash Table: Usage, Constructor & Insert
  • Hash Table: Retrieve
  • Hash Table: Remove
  • Overview
  • Stack & Queue
  • Linked List
  • Hash Table, Array & String
  • Common Operations
  • Data Structures Overview
  • Other Considerations
  • Additional Resources

Taught by

Bianca Gandolfo

Introduction to Data Structures for Interviews
الذهاب الي الدورة

Introduction to Data Structures for Interviews

بواسطة: Frontend Masters

  • Frontend Masters
  • مدفوعة
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • الجميع
  • N/A
8.1.2PHP Version1.07sRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (597ms)
    • Application (468ms)
    • 1 x Booting (55.97%)
      597.27ms
      1 x Application (43.82%)
      467.66ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed150ms
      • select * from `courses` where `slug_ar` = 'introduction-to-data-structures-for-interviews' limit 1
        8.42ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. introduction-to-data-structures-for-interviews
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-13 21:51:12' where `id` = 2146
        141ms/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-13 21:51:12
        • 1. 2146
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (6)
        250μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        240μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (41) and `providers`.`deleted_at` is null
        260μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2137 limit 1
        270μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2137
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        zbhtl8aQBJio5QAKm0YmB3itiCFEaTVUqKiEWFIG
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/introd...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/introduction-to-data-structures-for-interviews
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.221" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.221" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "94f4cece2ebde82a-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.221" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.221" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "94f4cece2ebde82a-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "63810" "REMOTE_ADDR" => "172.71.255.58" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/introduction-to-data-structures-for-interviews" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1749851471.3465 "REQUEST_TIME" => 1749851471 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Fri, 13 Jun 2025 21:51:12 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjZRQ2krYVlCZGFSWitvUXp4YkREWEE9PSIsInZhbHVlIjoiazJMSHVzbThkZEpoZTNSOFRqQjc0UStVd2FVTlZMaTZCOXY0ampRS1cwakJUNHQwb3hEWnZIMDExTkMwN1pMcDdhRXpTUjk4TkIrc1pSeWNtU1NsZGNnY0J2STJ3akFvM2d6aHRmbDg4WUplc1NFMjNNOFI3elNaUGxBa1RJVE8iLCJtYWMiOiIzMWE4NzcyYTYzYzhiYTQyODBkMGVjOWJjYjk1MDc1OTA4NjY4NTcyZWVkNjBkMjUyZGIyMjUxMzA1Nzg0MTIxIiwidGFnIjoiIn0%3D; expires=Fri, 13 Jun 2025 23:51:12 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjZRQ2krYVlCZGFSWitvUXp4YkREWEE9PSIsInZhbHVlIjoiazJMSHVzbThkZEpoZTNSOFRqQjc0UStVd2FVTlZMaTZCOXY0ampRS1cwakJUNHQwb3hEWnZIMDExTkMwN1pMcDdhRXpTU" 1 => "laravel_session=eyJpdiI6InFFV0w1dUhHRGw3eWRaME5DSGNDMmc9PSIsInZhbHVlIjoiWDc4ZTdkWXViUnkrYkpndDIyMXhnQXRZYnRvZXdoVFQrM2c4aVJ4ejR3K2VhYTdOdFJnU2oyLzVGZTE5cjBWK0xXRUpITFdibU1kRnJBMlpaMmo3S2RuVU1IeXJWWC8wTFA0bUNrVy9hR21NS3E4TWlrNi9KempUMFFXOTluSTUiLCJtYWMiOiIyMTRiYTFjNDE5ODBiNDBjYWJkOTcwNzkwZjhjZDE3NDMzZDI2OGVjNDczNzQ4NzM3ODc5NGU4NmFlZDg1YjFmIiwidGFnIjoiIn0%3D; expires=Fri, 13 Jun 2025 23:51:12 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6InFFV0w1dUhHRGw3eWRaME5DSGNDMmc9PSIsInZhbHVlIjoiWDc4ZTdkWXViUnkrYkpndDIyMXhnQXRZYnRvZXdoVFQrM2c4aVJ4ejR3K2VhYTdOdFJnU2oyLzVGZTE5cjBWK0xX" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjZRQ2krYVlCZGFSWitvUXp4YkREWEE9PSIsInZhbHVlIjoiazJMSHVzbThkZEpoZTNSOFRqQjc0UStVd2FVTlZMaTZCOXY0ampRS1cwakJUNHQwb3hEWnZIMDExTkMwN1pMcDdhRXpTUjk4TkIrc1pSeWNtU1NsZGNnY0J2STJ3akFvM2d6aHRmbDg4WUplc1NFMjNNOFI3elNaUGxBa1RJVE8iLCJtYWMiOiIzMWE4NzcyYTYzYzhiYTQyODBkMGVjOWJjYjk1MDc1OTA4NjY4NTcyZWVkNjBkMjUyZGIyMjUxMzA1Nzg0MTIxIiwidGFnIjoiIn0%3D; expires=Fri, 13-Jun-2025 23:51:12 GMT; path=/XSRF-TOKEN=eyJpdiI6IjZRQ2krYVlCZGFSWitvUXp4YkREWEE9PSIsInZhbHVlIjoiazJMSHVzbThkZEpoZTNSOFRqQjc0UStVd2FVTlZMaTZCOXY0ampRS1cwakJUNHQwb3hEWnZIMDExTkMwN1pMcDdhRXpTU" 1 => "laravel_session=eyJpdiI6InFFV0w1dUhHRGw3eWRaME5DSGNDMmc9PSIsInZhbHVlIjoiWDc4ZTdkWXViUnkrYkpndDIyMXhnQXRZYnRvZXdoVFQrM2c4aVJ4ejR3K2VhYTdOdFJnU2oyLzVGZTE5cjBWK0xXRUpITFdibU1kRnJBMlpaMmo3S2RuVU1IeXJWWC8wTFA0bUNrVy9hR21NS3E4TWlrNi9KempUMFFXOTluSTUiLCJtYWMiOiIyMTRiYTFjNDE5ODBiNDBjYWJkOTcwNzkwZjhjZDE3NDMzZDI2OGVjNDczNzQ4NzM3ODc5NGU4NmFlZDg1YjFmIiwidGFnIjoiIn0%3D; expires=Fri, 13-Jun-2025 23:51:12 GMT; path=/; httponlylaravel_session=eyJpdiI6InFFV0w1dUhHRGw3eWRaME5DSGNDMmc9PSIsInZhbHVlIjoiWDc4ZTdkWXViUnkrYkpndDIyMXhnQXRZYnRvZXdoVFQrM2c4aVJ4ejR3K2VhYTdOdFJnU2oyLzVGZTE5cjBWK0xX" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "zbhtl8aQBJio5QAKm0YmB3itiCFEaTVUqKiEWFIG" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/introduction-to-data-structures-for-interviews" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]