├── .github └── dependabot.yml ├── .gitignore ├── LICENSE ├── README.md ├── babel.config.js ├── docs ├── .vitepress │ ├── config.js │ ├── icon.js │ ├── link.js │ ├── meta.js │ ├── plugins │ │ ├── catalogGeneration.js │ │ ├── contributors.js │ │ ├── markdownTransform.js │ │ └── pwa.js │ └── theme │ │ ├── components │ │ ├── Contributors.vue │ │ ├── HomContributors.vue │ │ ├── HomeContent.vue │ │ ├── Link.vue │ │ ├── MyLayout.vue │ │ ├── NotFound.vue │ │ ├── PageInfo.vue │ │ ├── QuestionPanel.vue │ │ ├── Random.vue │ │ └── SiteMap.vue │ │ ├── index.js │ │ ├── plugins │ │ ├── baidutongji.js │ │ └── googleAnalytics.js │ │ ├── styles │ │ ├── global.css │ │ ├── main.css │ │ └── vars.css │ │ └── utils │ │ ├── date.js │ │ └── index.js ├── about.md ├── about │ ├── 010_self_introduction.md │ ├── 020_interview_question_brushing.md │ ├── 030_nervous_interview.md │ ├── 040_encounter_problems_that_wonot_happen.md │ ├── 050_interviewer_question.md │ ├── 060_occupation.md │ └── 070_project.md ├── contributors.json ├── index.md ├── interview │ ├── backend │ │ └── java │ │ │ └── 010base │ │ │ ├── 010010_oop.md │ │ │ └── 010020_a_b_difference.md │ ├── base │ │ ├── algorithm │ │ │ ├── array.md │ │ │ └── string.md │ │ └── network │ │ │ ├── 010base │ │ │ ├── 010010_osi_model.md │ │ │ ├── 010020_tcpip_model.md │ │ │ ├── 010030_osi_model_vs_tcpip_model.md │ │ │ ├── 010040_url_constituent_part.md │ │ │ ├── 010050_uri_url.md │ │ │ ├── 010060_ip_vs_mac.md │ │ │ ├── 010070_ip_classification.md │ │ │ └── 010080_cdn_and_cdn_source.md │ │ │ ├── 020dns │ │ │ ├── 020010_dns.md │ │ │ ├── 020020_why_dns_is_required.md │ │ │ ├── 020030_dns_records_and_messages.md │ │ │ ├── 020040_dns_acquisition_process.md │ │ │ ├── 020050_dns_analysis_process.md │ │ │ ├── 020060_dns_iterative_and_recursive_queries.md │ │ │ ├── 020070_domain_name_cache.md │ │ │ ├── 020080_dns_optimization.md │ │ │ ├── 020090_dns_ttl.md │ │ │ ├── 020100_dns_load_balancing.md │ │ │ ├── 020110_dns_hijacking.md │ │ │ └── 020120_dns_use_tcp_and_udp.md │ │ │ ├── 030httphttps │ │ │ ├── 030010_http1_http1.1_http2.md │ │ │ ├── 030020_http1.1_multiplexing.md │ │ │ ├── 030030_http2_multiplexing.md │ │ │ ├── 030040_http1.1_tcp_multiplexing.md │ │ │ ├── 030050_head_of_line_blocking.md │ │ │ ├── 030060_http3.md │ │ │ ├── 030070_http3_quic.md │ │ │ ├── 030080_http2_head_compression_algorithm.md │ │ │ ├── 030090_htttp_request_message.md │ │ │ ├── 030100_http_request_header.md │ │ │ ├── 030110_http_cache_request_header.md │ │ │ ├── 030120_http_response_message.md │ │ │ ├── 030130_http_request_working_process.md │ │ │ ├── 030140_performance_of_http_protocol.md │ │ │ ├── 030150_advantages_and_disadvantages_of_http_protocol.md │ │ │ ├── 030160_http_request_method.md │ │ │ ├── 030170_http_request_and_response_headers.md │ │ │ ├── 030180_get_post.md │ │ │ ├── 030190_put_post.md │ │ │ ├── 030200_post_cache.md │ │ │ ├── 030210_post_formdata_or_request_payload.md │ │ │ ├── 030220_get_url_coding.md │ │ │ ├── 030230_get_url_length_limit.md │ │ │ ├── 030240_options.md │ │ │ ├── 030250_simple_and_non_simple_requests.md │ │ │ ├── 030260_http_do_not_want_to_disconnect.md │ │ │ ├── 030270_http_long_link.md │ │ │ ├── 030280_http_long_and_short_connections.md │ │ │ ├── 030290_cookie_session.md │ │ │ ├── 030300_what_are_cookies_and_sessions_used_for_http.md │ │ │ ├── 030310_hijacking_token_and_cookie.md │ │ │ ├── 030320_how_to_eliminate_a_session.md │ │ │ ├── 030330_forward_redirect.md │ │ │ ├── 030340_http_keepalive.md │ │ │ ├── 030350_http_loading_images.md │ │ │ ├── 030360_http_status_code.md │ │ │ ├── 030370_http_status_code_301_302.md │ │ │ ├── 030380__http_status_code_304.md │ │ │ ├── 030390__http_status_code_301_302_303_307_308.md │ │ │ ├── 030400_https.md │ │ │ ├── 030410_http_https.md │ │ │ ├── 030420_tls_ssl.md │ │ │ ├── 030430_symmetric_encryption_and_asymmetric_encryption.md │ │ │ ├── 030440_digital_signature.md │ │ │ ├── 030450_digital_certificate.md │ │ │ ├── 030460_ca_signature.md │ │ │ ├── 030470_how_to_ensure_safety_for_https.md │ │ │ ├── 030480_https_handshake_process.md │ │ │ ├── 030490_https_request_working_process.md │ │ │ └── 030500_https_excellent_vacancy.md │ │ │ ├── 040tcpudp │ │ │ ├── 040010_tcp_ip_tcpip.md │ │ │ ├── 040020_tcp.md │ │ │ ├── 040030_tcp_vs_http.md │ │ │ ├── 040040_udp.md │ │ │ ├── 040050_tcp_vs_udp.md │ │ │ ├── 040060_arp.md │ │ │ ├── 040070_tcp_characteristic.md │ │ │ ├── 040080_udp_characteristic.md │ │ │ ├── 040090_how_to_achieve_reliable_udp_transmission.md │ │ │ ├── 040100_tcp_retransmission_mechanism.md │ │ │ ├── 040110_tcp_congestion_control.md │ │ │ ├── 040120_tcp_quantity_control.md │ │ │ ├── 040130_arq.md │ │ │ ├── 040140_stop_waiting_for_protocol.md │ │ │ ├── 040150_sliding_window_protocol.md │ │ │ ├── 040160_tcp_reliable_transmission_mechanism.md │ │ │ ├── 040170_tcp_three_handshakes_and_four_waves.md │ │ │ ├── 040180_why_is_tcp_shaking_hands_three_times_and_waving_hands_four_times.md │ │ │ ├── 040190_why_is_tcp_feasible_for_two_handshakes.md │ │ │ ├── 040200_can_tcp_triple_handshake_carry_data.md │ │ │ ├── 040210_is_it_feasible_to_wave_tcp_three_times.md │ │ │ ├── 040220_timewait_wait_for_2msl.md │ │ │ ├── 040230_tcp_establish_connection_client_failure.md │ │ │ ├── 040240_tcp_keep_alive_timer.md │ │ │ ├── 040250_tcp_maximum_connections_limit.md │ │ │ ├── 040260_unpacking_and_gluing.md │ │ │ ├── 040270_how_does_stickiness_occur_for_tcp.md │ │ │ ├── 040280_icmp.md │ │ │ ├── 040290_syn_flood.md │ │ │ └── 040300_tcp_team_leader_blocked.md │ │ │ ├── 050socket │ │ │ ├── 050010_socket.md │ │ │ ├── 050020_socket_vs_http.md │ │ │ ├── 050030_socket_vs_http_long_link.md │ │ │ ├── 050040_which_layer_of_the_network_does_the_socket_belong_to.md │ │ │ ├── 050050_socket_communication_process.md │ │ │ ├── 050060_socket_heartbeat_mechanism.md │ │ │ └── 050070_shortpolling_longpolling_sse_socket.md │ │ │ ├── 060security │ │ │ ├── 060010_what_is_http_hijacking.md │ │ │ ├── 060020_how_to_hijack_https.md │ │ │ ├── 060030_what_is_dns_hijacking.md │ │ │ ├── 060040_what_is_sql_injection_attack.md │ │ │ ├── 060050_how_to_defend_against_sql_injection_attacks.md │ │ │ ├── 060060_what_is_an_xss_attack.md │ │ │ ├── 060070_how_to_defend_against_xss_attacks.md │ │ │ ├── 060080_what_is_a_csrf_attack.md │ │ │ ├── 060090_how_to_defend_against_csrf_attacks.md │ │ │ ├── 060100_what_is_maninthemiddle_attack.md │ │ │ ├── 060110_how_to_prevent_maninthemiddle_attack.md │ │ │ ├── 060120_website_verification_code.md │ │ │ ├── 060130_what_may_cause_frontend_security_issues.md │ │ │ └── 060140_what_are_the_types_of_network_hijacking.md │ │ │ └── 070other │ │ │ ├── 070010_jwt_token_encryption.md │ │ │ ├── 070020_sso.md │ │ │ ├── 070030_network_performance_optimization.md │ │ │ └── 070040_what_happened_when_entering_the_url.md │ ├── frontend │ │ ├── browser │ │ │ ├── 010processthread │ │ │ │ ├── 010010_process_and_thread.md │ │ │ │ ├── 010020_process_and_thread_diff.md │ │ │ │ ├── 010030_multiprocess_and_multithreading.md │ │ │ │ ├── 010040_process_communication.md │ │ │ │ ├── 010050_js_singlethreaded_and_asynchronous.md │ │ │ │ ├── 010060_browser_processes.md │ │ │ │ ├── 010070_browser_multiprocess.md │ │ │ │ ├── 010080_browser_thread_of_rendering_process.md │ │ │ │ ├── 010090_zombie_and_orphan_process.md │ │ │ │ ├── 010100_deadlock.md │ │ │ │ ├── 010110_browser_multiple_tabs_communication.md │ │ │ │ └── 010120_service_worker.md │ │ │ ├── 020memory │ │ │ │ └── 020010_heap_and_stack.md │ │ │ ├── 030form │ │ │ │ ├── 030010_browser.md │ │ │ │ ├── 030020_browser_kernel.md │ │ │ │ ├── 030030_common_browser_kernel.md │ │ │ │ ├── 030040_common_browser_usage_kernel.md │ │ │ │ └── 030050_browser_main_components.md │ │ │ ├── 040render │ │ │ │ ├── 040010_browser_rendering.md │ │ │ │ ├── 040020_pre_parsing_of_documents.md │ │ │ │ ├── 040030_rendering_process_encountered_js.md │ │ │ │ ├── 040040_js_blocking_page_loading.md │ │ │ │ ├── 040050_css_blocking_page_loading.md │ │ │ │ ├── 040060_block_rendering.md │ │ │ │ ├── 040070_reflow_and_redraw.md │ │ │ │ ├── 040080_causing_reflux.md │ │ │ │ ├── 040090_avoid_reflow_redrawing.md │ │ │ │ ├── 040100_composite.md │ │ │ │ ├── 040110_normal_and_composite_layers.md │ │ │ │ ├── 040120_critical_rendering_path.md │ │ │ │ └── 040130_browser_rendering_optimization.md │ │ │ ├── 050cache │ │ │ │ ├── 050010_browser_caching_mechanism.md │ │ │ │ ├── 050020_negotiation_cache.md │ │ │ │ ├── 050030_strong_caching.md │ │ │ │ ├── 050040_negotiation_and_strong_caching.md │ │ │ │ ├── 050050_why_do_i_need_browser_caching.md │ │ │ │ └── 050060_browser_various_refresh_difference.md │ │ │ ├── 060localstorage │ │ │ │ ├── 060010_browser_local_storage.md │ │ │ │ ├── 060020_cookie.md │ │ │ │ ├── 060030_cookie_localstorage_sessionstorage.md │ │ │ │ ├── 060040_token_expiration_time.md │ │ │ │ ├── 060050_localstorage_safety_problem.md │ │ │ │ ├── 060060_frontend_storage.md │ │ │ │ └── 060070_indexed_db.md │ │ │ ├── 070cors │ │ │ │ ├── 070010_browser_homologous.md │ │ │ │ ├── 070020_solving_crossing_problems.md │ │ │ │ ├── 070030_forward_proxy_and_reverse_proxy.md │ │ │ │ ├── 070040_nginx.md │ │ │ │ └── 070050_which_cross_domains_are_allowed_by_the_browser.md │ │ │ ├── 080event │ │ │ │ ├── 080010_browser_event.md │ │ │ │ ├── 080020_browser_event_flow.md │ │ │ │ ├── 080030_browser_event_bubbling.md │ │ │ │ ├── 080040_browser_cancel_default_event.md │ │ │ │ └── 080050_browser_event_proxy.md │ │ │ ├── 090gc │ │ │ │ ├── 090010_browser_garbage_generation_and_recycling.md │ │ │ │ ├── 090020_browser_gc.md │ │ │ │ └── 090030_variable_memory_release.md │ │ │ ├── 100memoryleak │ │ │ │ ├── 100010_memory_leak.md │ │ │ │ ├── 100020_what_will_cause_memory_leak.md │ │ │ │ └── 100030_how_to_view_memory_leak_for_browser.md │ │ │ └── 110other │ │ │ │ ├── 110010_load_and_domcontentloaded.md │ │ │ │ └── 110020_defer_async.md │ │ ├── css │ │ │ ├── 010base │ │ │ │ ├── 010010_css_load.md │ │ │ │ ├── 010020_@import.md │ │ │ │ ├── 010030_@charset_@layer.md │ │ │ │ └── 010050_link_@import.md │ │ │ ├── 020selector │ │ │ │ ├── 020010_selector_all.md │ │ │ │ ├── 020020_id_calss_selector.md │ │ │ │ ├── 020030_pseudoclass_selector.md │ │ │ │ ├── 020040_pseudoelements_and_pseudoclasses.md │ │ │ │ ├── 020050_parent_selector.md │ │ │ │ ├── 020060_selector_priority.md │ │ │ │ └── 020070_browser_parse_selector.md │ │ │ ├── 030structure_stacking │ │ │ │ ├── 030010_css_inherit.md │ │ │ │ └── 030020_css_element_cascading_order.md │ │ │ ├── 040value_unit │ │ │ │ ├── 040010_retinal_resolution.md │ │ │ │ ├── 040020_px_em_rem_vw.md │ │ │ │ └── 040030_pixel.md │ │ │ ├── 050font_text │ │ │ │ ├── 050010_font_icon.md │ │ │ │ ├── 050020_even_numbers_font.md │ │ │ │ ├── 050030_less_than_12px.md │ │ │ │ └── 050040_font_becomes_clearer_and_thinner.md │ │ │ ├── 060visual_formatting │ │ │ │ ├── 060010_ie_w3c_box.md │ │ │ │ ├── 060020_outer_margin_merge.md │ │ │ │ ├── 060030_line_height.md │ │ │ │ ├── 060040_border_of_inline_elements.md │ │ │ │ ├── 060050_vertically_centered_single_line_text.md │ │ │ │ ├── 060060_inline_block.md │ │ │ │ ├── 060070_del_button_crevice.md │ │ │ │ └── 060080_top_align.md │ │ │ ├── 070box │ │ │ │ ├── 070010_css_box_model.md │ │ │ │ ├── 070020_css_bfc.md │ │ │ │ ├── 070030_hide_elements.md │ │ │ │ ├── 070040_text_overflow.md │ │ │ │ ├── 070050_circular_clickable_area.md │ │ │ │ ├── 070060_margin_invalid.md │ │ │ │ └── 070070_margin_overlap.md │ │ │ ├── 080float │ │ │ │ ├── 080010_floating_element.md │ │ │ │ ├── 080020_clear_float.md │ │ │ │ └── 080030_clear_float_principle.md │ │ │ ├── 090postion │ │ │ │ ├── 090010_postion.md │ │ │ │ ├── 090020_positioning_method.md │ │ │ │ ├── 090030_absolute_fixed.md │ │ │ │ ├── 090040_zindex.md │ │ │ │ └── 090050_zindex_invalid.md │ │ │ ├── 100layout │ │ │ │ ├── 100010_flex_grid.md │ │ │ │ ├── 100020_flex1.md │ │ │ │ ├── 100030_waterfall_flow_layout.md │ │ │ │ ├── 100040_horizontally.md │ │ │ │ ├── 100050_vertical_top_bottom_center.md │ │ │ │ ├── 100060_vertically_centered.md │ │ │ │ ├── 100070_margin_auto1.md │ │ │ │ ├── 100080_margin_auto2.md │ │ │ │ └── 100090_principle_of_responsive_layout.md │ │ │ ├── 110browser │ │ │ │ ├── 110010_ie6and7_hack.md │ │ │ │ ├── 110020_browser_compatible.md │ │ │ │ ├── 110030_css_reset_and_normalize.md │ │ │ │ ├── 110040_css_compiler.md │ │ │ │ └── 110050_css_preprocessor.md │ │ │ └── 120other │ │ │ │ ├── 120010_new_features.md │ │ │ │ ├── 120020_animation_optimization.md │ │ │ │ ├── 120030_coding_specifications.md │ │ │ │ ├── 120040_the_role_of_coding_norms.md │ │ │ │ ├── 120050_display_float_position.md │ │ │ │ ├── 120060_css_0.5px_line.md │ │ │ │ ├── 120070_css_1px.md │ │ │ │ ├── 120080_css_quarantine.md │ │ │ │ ├── 120090_css_optimization.md │ │ │ │ └── 120100_css_engineering.md │ │ ├── html │ │ │ ├── 010base │ │ │ │ ├── 010010_stylization.md │ │ │ │ ├── 010020_DOCTYPE1.md │ │ │ │ ├── 010030_DOCTYPE2.md │ │ │ │ ├── 010040_garbled_code.md │ │ │ │ ├── 010050_web_and_w3c.md │ │ │ │ └── 010070_page_constitute.md │ │ │ ├── 020labels_attributes │ │ │ │ ├── 020010_element_type.md │ │ │ │ ├── 020020_meta_label.md │ │ │ │ ├── 020030_meta_viewport.md │ │ │ │ ├── 020040_code_view.md │ │ │ │ ├── 020050_img_alt_title.md │ │ │ │ ├── 020059_global_attribute.md │ │ │ │ ├── 020060_data_attribute.md │ │ │ │ ├── 020061_src_href.md │ │ │ │ ├── 020070_iframe.md │ │ │ │ └── 020080_iframe_communication.md │ │ │ ├── 030form │ │ │ │ ├── 030010_input_name.md │ │ │ │ ├── 030020_label.md │ │ │ │ ├── 030030_placeholder.md │ │ │ │ └── 030040_type_hidden.md │ │ │ └── 040other │ │ │ │ ├── 040010_progressive_enhancement.md │ │ │ │ ├── 040020_off_line_storage.md │ │ │ │ ├── 040030_seo.md │ │ │ │ ├── 040040_seo_tdk.md │ │ │ │ └── 040050_canvas_svg.md │ │ ├── javascript │ │ │ ├── core │ │ │ │ ├── 010base │ │ │ │ │ ├── 010010_stronglytype_and_weaklytype.md │ │ │ │ │ ├── 010020_interpretive_and_compiled.md │ │ │ │ │ ├── 010030_oop_pop.md │ │ │ │ │ ├── 010040_let_const_var.md │ │ │ │ │ ├── 010050_variable_elevation.md │ │ │ │ │ ├── 010055_tdz.md │ │ │ │ │ ├── 010060_logical_operator.md │ │ │ │ │ ├── 010070_script_delayed_loading.md │ │ │ │ │ └── 010080_stack_heap.md │ │ │ │ ├── 020datatype │ │ │ │ │ ├── 020010_datatype.md │ │ │ │ │ ├── 020020_datatype_judgment.md │ │ │ │ │ ├── 020030_null_undefined.md │ │ │ │ │ ├── 020040_typeof_null.md │ │ │ │ │ ├── 020050_instanceof.md │ │ │ │ │ ├── 020060_0.1_0.2_sum.md │ │ │ │ │ ├── 020060_0.1_0.2_sum2.md │ │ │ │ │ ├── 020070_typeof_nan.md │ │ │ │ │ ├── 020080_isnan_number.isnan.md │ │ │ │ │ ├── 020090_object.is.md │ │ │ │ │ ├── 020100_sealing_unboxing.md │ │ │ │ │ ├── 020110_number_storage.md │ │ │ │ │ ├── 020120_symbol.md │ │ │ │ │ ├── 020130_originalcode_complement_inversecode.md │ │ │ │ │ ├── 020140_map_set.md │ │ │ │ │ ├── 020160_map_set_weakmap_weakset.md │ │ │ │ │ ├── 020170_valueog_tostring.md │ │ │ │ │ └── 020180_a1_a2_a3_true.md │ │ │ │ ├── 030object │ │ │ │ │ ├── 030010_object_create.md │ │ │ │ │ ├── 030020_new.md │ │ │ │ │ ├── 030030_object_in_class.md │ │ │ │ │ ├── 030040_judge_empty_object.md │ │ │ │ │ ├── 030050_forof_in_object.md │ │ │ │ │ └── 030060_object_deepcopy_lightcopy.md │ │ │ │ ├── 040array │ │ │ │ │ ├── 040010_arraytype_judgment.md │ │ │ │ │ ├── 040020_array_native_method.md │ │ │ │ │ ├── 040025_update_originalarray.md │ │ │ │ │ ├── 040028_no_update_originalarray.md │ │ │ │ │ ├── 040030_array_deduplication.md │ │ │ │ │ ├── 040040_classarray.md │ │ │ │ │ ├── 040050_arguments_is_classarray.md │ │ │ │ │ └── 040060_foreach_map_forof_forin.md │ │ │ │ ├── 050function │ │ │ │ │ ├── 050010_arrow_function.md │ │ │ │ │ ├── 050020_new_arrow_function.md │ │ │ │ │ ├── 050030_function_tail_call.md │ │ │ │ │ ├── 050040_function_currying.md │ │ │ │ │ ├── 050050_function_closure.md │ │ │ │ │ ├── 050060_function_hoc.md │ │ │ │ │ ├── 050070_function_compose.md │ │ │ │ │ ├── 050080_function_lazy_evaluation.md │ │ │ │ │ └── 050090_functional_programming.md │ │ │ │ ├── 060scope │ │ │ │ │ ├── 060010_scope.md │ │ │ │ │ └── 060030_execution_context.md │ │ │ │ ├── 070asynchronous │ │ │ │ │ ├── 070010_synchronous_and_asynchronous.md │ │ │ │ │ ├── 070020_promise.md │ │ │ │ │ ├── 070030_then_secondparam_and_catch.md │ │ │ │ │ ├── 070040_promise_all_and_race.md │ │ │ │ │ ├── 070050_promise_and_settimeout.md │ │ │ │ │ ├── 070060_async_await.md │ │ │ │ │ ├── 070070_iterator.md │ │ │ │ │ ├── 070080_generator.md │ │ │ │ │ ├── 070090_generator_Interruption_and_recovery.md │ │ │ │ │ ├── 070100_promise_asyncawait_generator.md │ │ │ │ │ └── 070110_defer_async.md │ │ │ │ ├── 080this │ │ │ │ │ ├── 080010_this.md │ │ │ │ │ ├── 080020_update_function_this.md │ │ │ │ │ └── 080030_call_apply_bind.md │ │ │ │ ├── 090prototype │ │ │ │ │ ├── 090010_prototype.md │ │ │ │ │ ├── 090015_prototype_vs_proto.md │ │ │ │ │ ├── 090020_inherit.md │ │ │ │ │ └── 090030_constructor_bind_and_inherit.md │ │ │ │ ├── 100eventloop │ │ │ │ │ ├── 100005_what_is_execution_stack.md │ │ │ │ │ ├── 100010_microtask_macrotask.md │ │ │ │ │ ├── 100020_microtask_macrotask_distinguish.md │ │ │ │ │ ├── 100030_eventloop.md │ │ │ │ │ ├── 100040_eventloop_settimeout0.md │ │ │ │ │ └── 100050_eventloop_node.md │ │ │ │ ├── 110browser │ │ │ │ │ ├── 110010_event_model.md │ │ │ │ │ ├── 110020_event_flow.md │ │ │ │ │ ├── 110030_prevent_event_propagation.md │ │ │ │ │ ├── 110040_cancel_default_event.md │ │ │ │ │ ├── 110050_event_proxy.md │ │ │ │ │ ├── 110060_onload_ondomcontentloaded.md │ │ │ │ │ ├── 110070_settimeout_setinterval_requestanimationframe.md │ │ │ │ │ ├── 110080_settimeout_error.md │ │ │ │ │ ├── 110090_cookie_sessionStorage_localStorage.md │ │ │ │ │ └── 110100_documentfragment.md │ │ │ │ └── 120other │ │ │ │ │ ├── 120010_debounce_throttle.md │ │ │ │ │ ├── 120020_ajax_axios_fetch.md │ │ │ │ │ ├── 120030_modular_development.md │ │ │ │ │ ├── 120040_modular_development_standard.md │ │ │ │ │ ├── 120050_infinite_dropdown_loadimage_bindevent.md │ │ │ │ │ ├── 120060_memory_leak.md │ │ │ │ │ ├── 120070_design_patterns.md │ │ │ │ │ ├── 120080_design_patterns_more.md │ │ │ │ │ ├── 120100_xml_json.md │ │ │ │ │ ├── 120110_eval.md │ │ │ │ │ ├── 120120_websocket.md │ │ │ │ │ ├── 120125_web_worker.md │ │ │ │ │ ├── 120130_image_type.md │ │ │ │ │ ├── 120140_image_lazy_loading.md │ │ │ │ │ └── 120150_cssanimation_vs_jsanimation.md │ │ │ ├── output │ │ │ │ ├── 010_js_op.md │ │ │ │ ├── 020_js_op.md │ │ │ │ ├── 030_js_op.md │ │ │ │ ├── 040_js_op.md │ │ │ │ ├── 050_js_op.md │ │ │ │ ├── 055_js_op.md │ │ │ │ ├── 060_js_op.md │ │ │ │ ├── 070_js_op.md │ │ │ │ ├── 080_js_op.md │ │ │ │ ├── 090_js_op.md │ │ │ │ ├── 100_js_op.md │ │ │ │ ├── 110_js_op.md │ │ │ │ ├── 120_js_op.md │ │ │ │ ├── 130_js_op.md │ │ │ │ └── 140_js_op.md │ │ │ └── write │ │ │ │ ├── 0010_js_write_map.md │ │ │ │ ├── 0020_js_write_foreach.md │ │ │ │ ├── 0030_js_wrute_filter.md │ │ │ │ ├── 0040_js_write_some.md │ │ │ │ ├── 0050_js_write_every.md │ │ │ │ ├── 0060_js_write_reduce.md │ │ │ │ ├── 0070_js_write_compose.md │ │ │ │ ├── 0080_js_write_instanceof.md │ │ │ │ ├── 0090_js_write_new.md │ │ │ │ ├── 0100_js_write_call.md │ │ │ │ ├── 0110_js_write_bind.md │ │ │ │ ├── 0120_js_write_apply.md │ │ │ │ ├── 0125_js_type_judgment.md │ │ │ │ ├── 0130_js_write_debounce.md │ │ │ │ ├── 0140_js_write_throttle.md │ │ │ │ ├── 0150_js_write_stringify.md │ │ │ │ ├── 0160_js_write_parse.md │ │ │ │ ├── 0170_js_write_curry.md │ │ │ │ ├── 0180_js_write_object.create.md │ │ │ │ ├── 0190_js_write_array_deduplication.md │ │ │ │ ├── 0200_js_write_flatten_arrays.md │ │ │ │ ├── 0210_js_write_settimeout_mock_setinterval.md │ │ │ │ ├── 0220_js_write_eventbus.md │ │ │ │ ├── 0230_js_write_asynchronous_scheduler.md │ │ │ │ ├── 0240_js_write_promise.md │ │ │ │ ├── 0250_js_write_lightclone.md │ │ │ │ ├── 0260_js_write_deepclone.md │ │ │ │ ├── 0270_js_write_bignum_sum.md │ │ │ │ ├── 0280_js_write_objectflatten.md │ │ │ │ ├── 0290_js_write_stringparse.md │ │ │ │ └── 0300_js_write_object_support_forof.md │ │ ├── react │ │ │ ├── 010base │ │ │ │ ├── 010010_react_version_line.md │ │ │ │ ├── 010020_react.md │ │ │ │ ├── 010030_react_lifecycle.md │ │ │ │ ├── 010040_what_lifecycles_have_react_abandoned.md │ │ │ │ ├── 010050_react16_props_in_which_lifecycle.md │ │ │ │ ├── 010060_performance_optimization_in_which_lifecycle.md │ │ │ │ ├── 010070_state_props_lifecycle_difference.md │ │ │ │ ├── 010080_network_request_in_which_lifecycle.md │ │ │ │ ├── 010090_must_react_use_jsx.md │ │ │ │ ├── 010100_why_react_uses_jsx.md │ │ │ │ ├── 010110_why_should_jsx_introduce_react.md │ │ │ │ ├── 010120_immutable.md │ │ │ │ ├── 010130_react_refs.md │ │ │ │ ├── 010140_react16_update.md │ │ │ │ ├── 010150_react17_update.md │ │ │ │ └── 010160_react18_update.md │ │ │ ├── 020data │ │ │ │ ├── 020010_setstate_execution_mechanism.md │ │ │ │ ├── 020020_setstate_after_calling.md │ │ │ │ ├── 020030_setstate_batch_updates.md │ │ │ │ ├── 020040_getdefaultprops.md │ │ │ │ ├── 020050_setstate_parameter.md │ │ │ │ ├── 020060_setstate_vs_replacestate.md │ │ │ │ ├── 020070_setstate_vs_thisstate.md │ │ │ │ ├── 020080_state_form_reducer_to_component.md │ │ │ │ ├── 020090_state_cs_props.md │ │ │ │ ├── 020100_why_is_it_readonly_for_props.md │ │ │ │ ├── 020110_update_components_when_props_change.md │ │ │ │ └── 020120_how_to_verify_props.md │ │ │ ├── 030component │ │ │ │ ├── 030010_react_event_mechanism.md │ │ │ │ ├── 030020_react_vs_dom_event_mechanism.md │ │ │ │ ├── 030030_react_event_binding.md │ │ │ │ ├── 030040_component_event_proxy.md │ │ │ │ ├── 030050_composite_event.md │ │ │ │ ├── 030060_react_fiber.md │ │ │ │ ├── 030070_react_component_vs_purecomponent.md │ │ │ │ ├── 030080_component_element_instance.md │ │ │ │ ├── 030090_createclass_extendscomponent.md │ │ │ │ ├── 030100_react_build_components.md │ │ │ │ ├── 030110_react_hoc.md │ │ │ │ ├── 030120_hoc_design_patterns.md │ │ │ │ ├── 030130_react_hoc_rendering_efficiency.md │ │ │ │ ├── 030140_mixin_hoc_renderprops_reacthooks.md │ │ │ │ ├── 030150_componentwillreceiveprops.md │ │ │ │ ├── 030160_react_re_rendering.md │ │ │ │ ├── 030170_determine_when_to_re_render.md │ │ │ │ ├── 030180_react_component_naming.md │ │ │ │ ├── 030190_react_declaration_component.md │ │ │ │ ├── 030200_stateless_component.md │ │ │ │ ├── 030210_fragment.md │ │ │ │ ├── 030220_react_get_dom.md │ │ │ │ ├── 030230_can_i_access_refs_in_render.md │ │ │ │ ├── 030240_react_portals.md │ │ │ │ ├── 030250_react_intl.md │ │ │ │ ├── 030260_react_context.md │ │ │ │ ├── 030270_no_prioritize_using_context.md │ │ │ │ ├── 030280_react_controlled_components.md │ │ │ │ ├── 030290_react_refs.md │ │ │ │ ├── 030300_react_component_constructor.md │ │ │ │ ├── 030310_forwardref.md │ │ │ │ ├── 030320_class_function_components.md │ │ │ │ ├── 030330_component_communication.md │ │ │ │ ├── 030340_fatherson_crosslevel_nonnested_component.md │ │ │ │ ├── 030350_props_too_deep_hierarchy.md │ │ │ │ ├── 030360_propschildren_reactchildren.md │ │ │ │ ├── 030370_react_state_improvement.md │ │ │ │ ├── 030380_rsc.md │ │ │ │ ├── 030390_severcomponent_clientcomponent.md │ │ │ │ └── 030400_super.md │ │ │ ├── 040hooks │ │ │ │ ├── 040010_react_hook.md │ │ │ │ ├── 040020_which_hooks_have_you_used.md │ │ │ │ ├── 040030_classcomponent_vs_hook.md │ │ │ │ ├── 040040_which_hooks_have_been_customized.md │ │ │ │ ├── 040050_why_should_usestate_use_arrays_instead_of_objects.md │ │ │ │ ├── 040060_what_problems_have_react_hooks_solved.md │ │ │ │ ├── 040070_restrictions_on_the_use_of_react_hook.md │ │ │ │ ├── 040080_useeffect_vs_useLayouteffect.md │ │ │ │ ├── 040090_react_hook_attention_points.md │ │ │ │ ├── 040100_react_hook_and_lifecycle.md │ │ │ │ └── 040110_why_cannot_there_be_conditional_judgments_in_react_hooks.md │ │ │ ├── 050state │ │ │ │ ├── 050010_redux.md │ │ │ │ ├── 050020_source_redux.md │ │ │ │ ├── 050030_asynchronous_requests_in_redux.md │ │ │ │ ├── 050040_redux_connect.md │ │ │ │ ├── 050050_what_is_redux_middleware.md │ │ │ │ ├── 050060_common_middleware_for_redux.md │ │ │ │ ├── 050070_redux_store_and_action.md │ │ │ │ ├── 050080_redux_thunk.md │ │ │ │ ├── 050090_how_does_redux_request_middleware_handle_concurrency.md │ │ │ │ ├── 050100_how_to_implement_attribute_transfer_in_redux.md │ │ │ │ ├── 050110_redux_state_manager.md │ │ │ │ ├── 050120_mobox_redux.md │ │ │ │ ├── 050130_redux_vuex.md │ │ │ │ ├── 050140_how_to_preserve_data_when_reloading_pages_in_react.md │ │ │ │ └── 050150_react_data_persistence.md │ │ │ ├── 060router │ │ │ │ ├── 060010_react_router_mode.md │ │ │ │ ├── 060020_react_router_component.md │ │ │ │ ├── 060030_react_router_switch.md │ │ │ │ ├── 060040_react_router_redirect.md │ │ │ │ ├── 060050_react_router_link_vs_a.md │ │ │ │ ├── 060060_how_to_obtain_url_parameters_for_react_router.md │ │ │ │ ├── 060070_react_router4_re_rendering_component.md │ │ │ │ └── 060080_react_router4_switch.md │ │ │ ├── 070source │ │ │ │ ├── 070010_source_react_render.md │ │ │ │ ├── 070020_source_asynchronous_rendering.md │ │ │ │ ├── 070030_source_time_slice.md │ │ │ │ ├── 070040_source_vdom.md │ │ │ │ ├── 070050_vdom_vs_dom.md │ │ │ │ ├── 070060_source_react_jsx_conversion_dom.md │ │ │ │ ├── 070070_source_react_diff.md │ │ │ │ ├── 070080_source_react_key.md │ │ │ │ ├── 070090_reactdiff_vs_vuediff.md │ │ │ │ └── 070100_source_react_fiber.md │ │ │ ├── 080practice │ │ │ │ ├── 080010_react_achieve_dialog_component.md │ │ │ │ └── 080020_construct_a_react_project_from_0to1.md │ │ │ └── 090other │ │ │ │ ├── 090010_react_ssr.md │ │ │ │ ├── 090020_react_children_map_vs_js_map.md │ │ │ │ ├── 090030_react_babel.md │ │ │ │ ├── 090040_react_strict_mode.md │ │ │ │ ├── 090050_react_constructor_vs_getinitialstate.md │ │ │ │ ├── 090060_react_capture_exceptions.md │ │ │ │ ├── 090070_react_lead_into_css.md │ │ │ │ └── 090080_react_performance_optimization.md │ │ └── vue │ │ │ ├── 010base │ │ │ ├── 010001_vue_version_line.md │ │ │ ├── 010010_vue.md │ │ │ ├── 010020_mvvm_mvp_mvc.md │ │ │ ├── 010030_what_is_spa.md │ │ │ ├── 010040_what_is_progressive_framework.md │ │ │ ├── 010050_what_is_data_flow.md │ │ │ ├── 010060_vue_componentization.md │ │ │ ├── 010070_vif_vfor_mutex.md │ │ │ ├── 010080_vif_vfor_priority.md │ │ │ ├── 010090_vif_vshow.md │ │ │ ├── 010100_vhtml.md │ │ │ ├── 010110_vmodel_sync.md │ │ │ ├── 010120_why_optionsapi_data_be_a_function.md │ │ │ ├── 010130_vue_modifiers.md │ │ │ ├── 010140_custom_instructions.md │ │ │ ├── 010150_custom_instructions_hook.md │ │ │ ├── 010160_why_remove_filters_in_vue3.md │ │ │ ├── 010170_vue3_new_features.md │ │ │ ├── 010180_vue3_performance_improvement.md │ │ │ ├── 010190_vue3_componsitionapi_optionsapi.md │ │ │ ├── 010200_vue3_componsitionapi_changes_brought_about.md │ │ │ ├── 010210_vue3_treeshaking.md │ │ │ ├── 010220_vue3_ref_reactive.md │ │ │ ├── 010230_vue_lifecycle.md │ │ │ ├── 010240_vue3_setup_created.md │ │ │ └── 010250_vue3_no_beforecreated_and_created_for_setup.md │ │ │ ├── 020data │ │ │ ├── 020010_vue2or3_reactivity.md │ │ │ ├── 020020_object_dynamic_add_atttr.md │ │ │ ├── 020030_objct_dynamic_add_attr_no_response.md │ │ │ ├── 020040_vue3_detect_changes_in_array.md │ │ │ ├── 020050_vue3_the_first_layer_of_proxy_object.md │ │ │ ├── 020060_vue3_detect_array_manytimes_getset.md │ │ │ ├── 020070_proxy_defineproperty.md │ │ │ ├── 020080_vue_watch_and_computed.md │ │ │ ├── 020090_vue_watch_execute_immediately.md │ │ │ └── 020100_vue_watch_watcheffect.md │ │ │ ├── 030component │ │ │ ├── 030010_components_and_plugins.md │ │ │ ├── 030020_asynchronous_component.md │ │ │ ├── 030030_how_to_use_components.md │ │ │ ├── 030040_component_communication.md │ │ │ ├── 030050_child_update_parent_data.md │ │ │ ├── 030060_parent_child_create_and_mount.md │ │ │ ├── 030070_parent_listen_lifecycle_of_the_child.md │ │ │ ├── 030080_vue_template_root_element.md │ │ │ ├── 030090_vue_extend_component.md │ │ │ ├── 030100_vue_mixin.md │ │ │ ├── 030110_vue_slot.md │ │ │ ├── 030120_stateless_and_functional_component.md │ │ │ ├── 030130_hoc.md │ │ │ ├── 030140_custom_components_use_vmodel.md │ │ │ ├── 030150_keepalive_cache_components.md │ │ │ ├── 030160_keepalive_lifecycle_function.md │ │ │ ├── 030170_keepalive_lifecycle.md │ │ │ └── 030180_source_keepalive.md │ │ │ ├── 040state │ │ │ ├── 040010_vuex.md │ │ │ ├── 040020_vuex_and_global_object.md │ │ │ ├── 040030_vuex_shortcoming.md │ │ │ ├── 040040_vuex_action_mutation.md │ │ │ ├── 040050_source_vuex.md │ │ │ ├── 040060_data_persistence.md │ │ │ └── 040070_pinia_and_vuex.md │ │ │ ├── 050router │ │ │ ├── 050010_vuerouter_mode.md │ │ │ ├── 050020_source_hash_and_history.md │ │ │ ├── 050030_router_and_route.md │ │ │ ├── 050040_dynamic_routing.md │ │ │ ├── 050050_single_page_multi_routing_area.md │ │ │ ├── 050060_routing_lazy_loading.md │ │ │ ├── 050070_navigation_hook.md │ │ │ ├── 050080_navigation_hook_and_lifecycle_hook.md │ │ │ ├── 050090_navigation_parsing_process.md │ │ │ └── 050100_source_vue_router.md │ │ │ ├── 060source │ │ │ ├── 060010_source_vmodel.md │ │ │ ├── 060020_source_watch.md │ │ │ ├── 060030_source_computed.md │ │ │ ├── 060040_source_asynchronous_rendering.md │ │ │ ├── 060050_source_nexttick.md │ │ │ ├── 060060_source_event_binding.md │ │ │ ├── 060070_source_vue_complier.md │ │ │ ├── 060080_source_template_to_render.md │ │ │ ├── 060090_source_when_does_the_compiler_execute.md │ │ │ ├── 060100_source_vdom.md │ │ │ ├── 060110_source_vdom_to_dom.md │ │ │ ├── 060120_vnode_describe_dom.md │ │ │ ├── 060130_source_vue_diff.md │ │ │ ├── 060140_source_key_for_vdom.md │ │ │ ├── 060150_source_minimize_updates.md │ │ │ ├── 060160_source_new_vue_initialization.md │ │ │ ├── 060170_source_rendering_and_updating.md │ │ │ ├── 060180_source_instance_mounting.md │ │ │ ├── 060190_source_instance_mount_create_responsive_data.md │ │ │ └── 060200_source_instance_mount_establish_dependency.md │ │ │ ├── 070practice │ │ │ ├── 070010_optimize_first_screen_rendering.md │ │ │ ├── 070020_vue_page_flashing.md │ │ │ ├── 070030_vue_bigdata_rendering_optimization.md │ │ │ ├── 070040_vue_performance_optimization.md │ │ │ ├── 070050_vue_model_component.md │ │ │ ├── 070060_vue_encapsulation_request_module.md │ │ │ ├── 070070_vue_project_architecture.md │ │ │ └── 070080_vue_permission_management.md │ │ │ └── 080other │ │ │ ├── 080010_what_is_ssr.md │ │ │ ├── 080020_why_use_ssr.md │ │ │ ├── 080030_what_to_consider_for_ssr.md │ │ │ ├── 080040_source_ssr.md │ │ │ ├── 080050_css_scoped.md │ │ │ ├── 080060_source_css_scoped.md │ │ │ └── 080070_style_penetration_for_css_scoped.md │ └── notype │ │ ├── big_data_render.md │ │ ├── big_file_update.md │ │ └── bullet_chat.md ├── public │ ├── images │ │ └── icon │ │ │ ├── android-chrome-192x192.png │ │ │ ├── android-chrome-512x512.png │ │ │ ├── apple-touch-icon.png │ │ │ └── logo.png │ ├── img │ │ ├── me │ │ │ ├── avatar.jpeg │ │ │ └── wx.jpeg │ │ └── site │ │ │ ├── logo.ico │ │ │ ├── logo.jpg │ │ │ └── logo.png │ └── svg │ │ └── custom │ │ └── vue.svg └── quick │ ├── 010_quick.md │ ├── 030_add.md │ └── 040_error.md ├── package.json ├── pnpm-lock.yaml ├── scripts ├── create-iteration.js ├── create-subject.js └── update.js ├── template └── subject.md ├── unocss.config.js └── utils ├── changelog.js ├── contributors.js ├── process.js └── replacer.js /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | open-pull-requests-limit: 20 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 不正经的前端 | 八股 2 | 3 | 八股是一份开放的面试题库,我们的愿景是覆盖 90%+ IT 知识点问答,节省面试者和面试官的时间!同时也是一份结构化的知识图谱,源于学习,而不是刷题! 4 | 5 | 欢迎 Star! 6 | 7 | 更新中... 8 | 9 | 请查看 👉🏻 [interview.isboyjc.com](https://interview.isboyjc.com) 10 | 11 | 12 | ## 核心成员 13 | 14 | 更新中... 15 | 16 | ## 贡献者 17 | 18 | 更新中... 19 | 20 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @LastEditTime: 2023-06-28 00:44:51 3 | * @Description: babel 4 | * @Date: 2023-06-27 23:35:45 5 | * @Author: isboyjc 6 | * @LastEditors: isboyjc 7 | */ 8 | module.exports = { 9 | presets: [ 10 | // 添加您需要使用的 preset 11 | "@babel/preset-env" 12 | ], 13 | plugins: [ 14 | // 添加您需要使用的 plugin 15 | "@babel/plugin-transform-modules-commonjs" 16 | ] 17 | } -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/Link.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/QuestionPanel.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 14 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/Random.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/styles/global.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/.vitepress/theme/styles/global.css -------------------------------------------------------------------------------- /docs/.vitepress/theme/utils/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @LastEditTime: 2023-06-26 04:47:33 3 | * @Description: utils 引入 4 | * @Date: 2023-06-26 04:44:43 5 | * @Author: isboyjc 6 | * @LastEditors: isboyjc 7 | */ 8 | export * from './date' -------------------------------------------------------------------------------- /docs/about/010_self_introduction.md: -------------------------------------------------------------------------------- 1 | # 一份好的自我介绍 2 | 3 | 有准备的自我介绍,往往是面试中一个好的开始。 4 | 5 | 一个结构化的自我介绍,往往很简单: 6 | 7 | 1. 个人信息 8 | 9 | 2. 公司职责、涉及业务、主要技术栈 10 | 11 | 3. 擅长的技术 12 | 13 | 4. 项目介绍(STAR:背景、任务、内容、亮点、结果。实现了什么学到了什么) 14 | 15 | 5. 最近在做(学)什么 16 | 17 | 6. 结语 -------------------------------------------------------------------------------- /docs/about/020_interview_question_brushing.md: -------------------------------------------------------------------------------- 1 | # 刷题是否应该 2 | 3 | 技术人的面试就像是一场大考。 4 | 5 | 显然,刷题是应该的,你不准备别人会准备。 6 | 7 | 别人准备你没准备,就是对面试不尊重、不上心的表现! 8 | 9 | 别人没准备你准备了,那可真是太好了! 10 | 11 | 刷题,是复习、更是巩固,是快速扫盲、也是查漏补缺! 12 | 13 | 刷题是思考、是理解,不是死记硬背! 14 | -------------------------------------------------------------------------------- /docs/about/030_nervous_interview.md: -------------------------------------------------------------------------------- 1 | # 面试紧张怎么办 2 | 3 | 给自己一些正面的心理暗示,最好处于兴奋且小自恋状态,每次回答问题前小声深呼吸,有益于面试。 4 | 5 | 比如你可以这样想: 6 | 7 | - “能够选中我,是公司的荣幸,选不中是他们的损失” 8 | 9 | - “既然我能够入职我之前的公司,说明当初面试官是对我高度认可的,不该怀疑自己,加油!” 10 | 11 | - “面试官问的题,我都会,就算不会又能怎么样,出了门他也不认识我!” 12 | 13 | - “这是一个双向选择而已,他们考验我的同时,我也在评估他们!” 14 | -------------------------------------------------------------------------------- /docs/about/040_encounter_problems_that_wonot_happen.md: -------------------------------------------------------------------------------- 1 | # 遇到不会的问题 2 | 3 | 面试不是以回答问题的正确数来衡量能力的,当然回答正确的越多,通过率越高,这无可置疑。 4 | 5 | 遇到不会回答的问题时: 6 | 7 | - 思考恰当的时间,可以是10-30秒钟,思考前可以先跟面试官表达一下,你需要一点时间来思考一下,这并不会让面试官觉得你菜,反而会觉得针对他的每个提问,你都是经过思考的。 8 | - 切记不要遇到不会的,斩钉截铁立刻回复面试官说你不会,你应该思考几秒钟再委婉的表达不会,否则有可能让面试官觉得你面对问题时都是这种放弃式的处理方式。 9 | - 如果你觉得答案不确定,可以直接跟面试官表达:由于某些原因,这个问题的答案我不是太确定,但我自己有一些想法,跟您简单描述一下! 10 | 11 | -------------------------------------------------------------------------------- /docs/about/050_interviewer_question.md: -------------------------------------------------------------------------------- 1 | # 面试官问有什么想问 2 | 3 | 这个岗位研发团队、小组前端有多少人? 4 | 5 | 这个岗位具体职责是什么? 6 | 7 | 团队内部有没有自己的一些技术积累? 8 | 9 | 是否双休/加班多否/五险一金/福利待遇/年终奖? 10 | 11 | 初中级同学,遇到很好、厉害的面试官可问: 12 | 13 | **“您应该是我近期遇到的最好的面试官了,冒昧问一下,因为我们聊了有一段时间,您对我应该也算比较了解了,您觉得我在哪方面有不足之处,可以给我点建议吗?“** -------------------------------------------------------------------------------- /docs/about/070_project.md: -------------------------------------------------------------------------------- 1 | # 项目问题参考 2 | 3 | 面试前,为了节约双方时间,你应该提前准备: 4 | 5 | - 最突出的项目 6 | - 最复杂的业务逻辑 7 | - 最有难度的业务模块 8 | 9 | 10 | ## 介绍下你认为做的比较复杂的项目、自己在项目中担当了什么角色、遇到的技术难点有哪些? 11 | 12 | 请根据自身真实情况准备 13 | 14 | ## 介绍下最近遇到的比较难解决的问题(BUG),从如何发现问题、定位问题以及最终解决的过程。 15 | 16 | 请根据自身真实情况准备 -------------------------------------------------------------------------------- /docs/contributors.json: -------------------------------------------------------------------------------- 1 | [ 2 | "isboyjc", 3 | "biankunchao", 4 | "shenjilina", 5 | "potatoes0521" 6 | ] -------------------------------------------------------------------------------- /docs/interview/backend/java/010base/010010_oop.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'biankunchao,isboyjc' 3 | --- 4 | 5 | # 面向对象特性? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/backend/java/010base/010020_a_b_difference.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'biankunchao,isboyjc' 3 | --- 4 | 5 | # a = a + b 与 a += b 的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/algorithm/array.md: -------------------------------------------------------------------------------- 1 | # 数组 -------------------------------------------------------------------------------- /docs/interview/base/algorithm/string.md: -------------------------------------------------------------------------------- 1 | # 字符串 -------------------------------------------------------------------------------- /docs/interview/base/network/010base/010010_osi_model.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 OSI 七层模型,每一层的职责? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/010base/010020_tcpip_model.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 讲一下 TCP/IP 四、五层模型,每一层的职责? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/010base/010030_osi_model_vs_tcpip_model.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP/IP 四、五层,OSI 七层模型有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/010base/010040_url_constituent_part.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # URL 有哪些组成部分 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/010base/010050_uri_url.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # URI 和 URL之间的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/010base/010060_ip_vs_mac.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # IP 地址和 MAC 地址有什么区别?各自用处? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/010base/010070_ip_classification.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # IP 地址有哪些分类 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/010base/010080_cdn_and_cdn_source.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何理解 CDN?说说实现原理? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020010_dns.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # DNS 是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020020_why_dns_is_required.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么需要 DNS? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020030_dns_records_and_messages.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # DNS 记录和报文 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020040_dns_acquisition_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 DNS 获取流程 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020050_dns_analysis_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 DNS 完整的解析流程? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020060_dns_iterative_and_recursive_queries.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 DNS 的迭代查询与递归查询 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020070_domain_name_cache.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是域名缓存? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020080_dns_optimization.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # DNS解析可优化吗,为什么优化又怎样优化? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020090_dns_ttl.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # DNS 缓存的 TTL 是什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020100_dns_load_balancing.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # DNS 负载均衡 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020110_dns_hijacking.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 DNS 劫持实现思路? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/020dns/020120_dns_use_tcp_and_udp.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 DNS 为何同时使用 TCP 和 UDP 协议? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030010_http1_http1.1_http2.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP1.0/1.1/2.0 的区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030020_http1.1_multiplexing.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么 HTTP1.1 不能实现多路复用 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030030_http2_multiplexing.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 简单讲解一下 HTTP2 的多路复用 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030040_http1.1_tcp_multiplexing.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP1.1 是如何复用 tcp 连接的? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030050_head_of_line_blocking.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 HTTP1.0/1.1/2.0 的队头阻塞问题 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030060_http3.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 HTTP 3.0,出现原因 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030070_http3_quic.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 HTTP 3.0 中的底层支持协议 QUIC 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030080_http2_head_compression_algorithm.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP2 的头部压缩算法是怎样的? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030090_htttp_request_message.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 请求报文的是什么样? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030100_http_request_header.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 常见的请求头有哪些? 作用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030110_http_cache_request_header.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 与缓存相关的 HTTP 请求头有哪些 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030120_http_response_message.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 响应报文的是什么样? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030130_http_request_working_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 请求的完整工作过程 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030140_performance_of_http_protocol.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 协议的性能怎么样 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030150_advantages_and_disadvantages_of_http_protocol.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 协议的优点和缺点 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030160_http_request_method.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 都有哪些请求方法? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030170_http_request_and_response_headers.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 常见的 HTTP 请求头和响应头 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030180_get_post.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # GET 和 POST 的区别?应用场景? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030190_put_post.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # POST 和 PUT 请求的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030200_post_cache.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # POST 方法真的不能被缓存吗 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030220_get_url_coding.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # GET 请求中 URL 编码的意义 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030230_get_url_length_limit.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # GET 方法 URL 长度限制的原因 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030240_options.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍 OPTIONS 请求方法,使用场景? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030250_simple_and_non_simple_requests.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是简单请求和非简单请求? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030260_http_do_not_want_to_disconnect.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 请求在交互过程中如果数据传送完了,还不想断开连接怎么办,怎么维持? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030270_http_long_link.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 如何实现长链接?在什么时候会超时? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030280_http_long_and_short_connections.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 长连接和短连接使用场景分别是什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030290_cookie_session.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 Cookie、Session,有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030300_what_are_cookies_and_sessions_used_for_http.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Cookie、Session 对于 HTTP 有什么用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030310_hijacking_token_and_cookie.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # cookie 和 token 都存放在 header 中,为什么不会劫持 token? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030320_how_to_eliminate_a_session.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # session 怎么消除 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030330_forward_redirect.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 请求中 forward 和 redirect 的区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030340_http_keepalive.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈谈对 Keep-Alive 和非 Keep-Alive 的理解? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030350_http_loading_images.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 页面有多张图片,HTTP 是怎样的加载表现? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030360_http_status_code.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 常见的状态码有哪些,使用场景? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030370_http_status_code_301_302.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 状态吗 301 和 302 区别,有哪些用途? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030380__http_status_code_304.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 状态码 304 是什么,网页中是多好还是少好? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030390__http_status_code_301_302_303_307_308.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 同样是重定向,308,307,303,302,301 的区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030400_https.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 HTTPS 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030410_http_https.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTP 和 HTTPS 的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030420_tls_ssl.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 TLS/SSL,工作原理? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030430_symmetric_encryption_and_asymmetric_encryption.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对称加密与非对称加密的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030440_digital_signature.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是数字签名? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030450_digital_certificate.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是数字证书? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030460_ca_signature.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么需要 CA 机构对证书签名 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030470_how_to_ensure_safety_for_https.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么说 HTTPS 比 HTTP 安全? HTTPS 是如何保证安全的 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030480_https_handshake_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍 HTTPS 握手过程 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030490_https_request_working_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTPS 请求的完整工作过程? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/030httphttps/030500_https_excellent_vacancy.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # HTTPS 的优缺点? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040010_tcp_ip_tcpip.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP、IP、TCP/IP分不清楚?有什么区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040020_tcp.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 TCP 协议 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040030_tcp_vs_http.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 和 HTTP 的区别定义 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040040_udp.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 UDP 协议 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040050_tcp_vs_udp.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何理解 UDP 和 TCP? 区别? 应用场景? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040060_arp.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 ARP 协议,工作原理? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040070_tcp_characteristic.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 的主要特点是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040080_udp_characteristic.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # UDP 的主要特点是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040090_how_to_achieve_reliable_udp_transmission.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # UDP 不可靠?如何实现 UDP 可靠传输? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040100_tcp_retransmission_mechanism.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍 TCP 的重传机制 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040110_tcp_congestion_control.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍 TCP 的拥塞控制 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040120_tcp_quantity_control.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍 TCP 的流量控制机制 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040130_arq.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 ARQ 协议? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040140_stop_waiting_for_protocol.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是停止等待协议? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040150_sliding_window_protocol.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是滑动窗口协议? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040160_tcp_reliable_transmission_mechanism.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 的可靠传输机制是如何实现的 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040170_tcp_three_handshakes_and_four_waves.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 TCP 的三次握手和四次挥手? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040190_why_is_tcp_feasible_for_two_handshakes.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 为什么需要三次握手?两次不行? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040200_can_tcp_triple_handshake_carry_data.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 三次握手过程中可以携带数据吗 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040210_is_it_feasible_to_wave_tcp_three_times.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 为什么需要四次挥手?三次不行? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040220_timewait_wait_for_2msl.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 中为什么四次挥手结束 TIME-WAIT 状态必须等待 2MSL 的时间呢? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040230_tcp_establish_connection_client_failure.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 如果已经建立了连接,但客户端突然故障怎么办? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040240_tcp_keep_alive_timer.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 保活计时器的作用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040250_tcp_maximum_connections_limit.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 最大连接数限制 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040260_unpacking_and_gluing.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是拆包和粘包?怎么解决? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040270_how_does_stickiness_occur_for_tcp.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # TCP 粘包是怎么产生的? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040280_icmp.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 ICMP,ICMP 有哪些应用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040290_syn_flood.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是洪水攻击(SYN FLOOD) 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/040tcpudp/040300_tcp_team_leader_blocked.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 TCP 的队头堵塞问题 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/050socket/050010_socket.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 Socket? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/050socket/050020_socket_vs_http.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Socket 和 HTTP 区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/050socket/050030_socket_vs_http_long_link.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Socket 和 HTTP 长链接的区别,应用场景? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/050socket/050040_which_layer_of_the_network_does_the_socket_belong_to.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Socket 属于网络的哪一层 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/050socket/050050_socket_communication_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Socket 通讯过程 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/050socket/050060_socket_heartbeat_mechanism.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么 Socket 需要心跳机制? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/050socket/050070_shortpolling_longpolling_sse_socket.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 分别介绍短轮询、长轮询、SSE 和 Socket,以及区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060010_what_is_http_hijacking.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 HTTP 劫持? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060020_how_to_hijack_https.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何劫持 https 的请求,提供思路? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060030_what_is_dns_hijacking.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 DNS 劫持? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060040_what_is_sql_injection_attack.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 SQL 注入攻击 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060050_how_to_defend_against_sql_injection_attacks.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何防御 SQL 注入攻击 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060060_what_is_an_xss_attack.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 XSS 攻击? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060070_how_to_defend_against_xss_attacks.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何防御 XSS 攻击? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060080_what_is_a_csrf_attack.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 CSRF 攻击? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060090_how_to_defend_against_csrf_attacks.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何防御 CSRF 攻击? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060100_what_is_maninthemiddle_attack.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是中间人攻击? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060110_how_to_prevent_maninthemiddle_attack.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何防范中间人攻击? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060120_website_verification_code.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 网页验证码是干嘛的,是为了解决什么安全问题? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060130_what_may_cause_frontend_security_issues.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 有哪些可能引起前端安全的问题? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/060security/060140_what_are_the_types_of_network_hijacking.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 网络劫持有哪几种,如何防范? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/070other/070010_jwt_token_encryption.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 JWT 中的 token 如何实现加密 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/070other/070020_sso.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下单点登录 SSO 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/070other/070030_network_performance_optimization.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 列举常用的网络性能优化方法 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/base/network/070other/070040_what_happened_when_entering_the_url.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 地址栏输入 URL 敲下回车后发生了什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010010_process_and_thread.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是线程?什么是进程? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010020_process_and_thread_diff.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 线程与进程的区别 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010030_multiprocess_and_multithreading.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 多进程和多线程 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010040_process_communication.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 进程之间的通信方式 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010050_js_singlethreaded_and_asynchronous.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # JS 为什么是单线程,与异步冲突吗 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010060_browser_processes.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器包含哪些进程 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010070_browser_multiprocess.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么浏览器要多进程 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010080_browser_thread_of_rendering_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器渲染进程的线程有哪些 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010090_zombie_and_orphan_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 僵尸进程和孤儿进程是什么? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010100_deadlock.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 死锁产生的原因? 如果解决死锁的问题? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010110_browser_multiple_tabs_communication.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何实现浏览器内多个标签页之间的通信? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/010processthread/010120_service_worker.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈对 Service Worker 的理解 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/020memory/020010_heap_and_stack.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是堆、栈? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/030form/030010_browser.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈对浏览器的理解 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/030form/030020_browser_kernel.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈对浏览器内核的理解 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/030form/030030_common_browser_kernel.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 常见的浏览器内核有哪些,有什么区别 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/030form/030040_common_browser_usage_kernel.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 常见的浏览器使用的都是哪些内核 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/030form/030050_browser_main_components.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器的主要组成部分是什么 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040010_browser_rendering.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器渲染的完整过程 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040020_pre_parsing_of_documents.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是文档的预解析? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040030_rendering_process_encountered_js.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 渲染过程中遇到 JS 文件如何处理? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040040_js_blocking_page_loading.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # JS 阻塞页面加载?为什么? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040050_css_blocking_page_loading.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # CSS 资源加载会阻塞渲染?怎样优化? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040060_block_rendering.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么情况会阻塞渲染? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040070_reflow_and_redraw.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是回流和重绘以及区别? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040080_causing_reflux.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么会引起回流? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040090_avoid_reflow_redrawing.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何减少和避免回流重绘? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040100_composite.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是渲染层合并 (Composite) ? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040110_normal_and_composite_layers.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是普通图层和复合图层? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040120_critical_rendering_path.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是关键渲染路径(CRP),如何优化? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/040render/040130_browser_rendering_optimization.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈浏览器渲染优化? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/050cache/050010_browser_caching_mechanism.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈对浏览器的缓存机制的理解 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/050cache/050020_negotiation_cache.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是协商缓存? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/050cache/050030_strong_caching.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是强缓存? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/050cache/050040_negotiation_and_strong_caching.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 协商缓存和强缓存的区别? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/050cache/050050_why_do_i_need_browser_caching.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么需要浏览器缓存? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/050cache/050060_browser_various_refresh_difference.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 点击刷新按钮或者按 F5、按 Ctrl+F5 (强制刷新)、地址栏回车有什么区别? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/060localstorage/060010_browser_local_storage.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器本地存储方式及使用场景 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/060localstorage/060020_cookie.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Cookie有哪些字段,作用分别是什么 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/060localstorage/060030_cookie_localstorage_sessionstorage.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Cookie、LocalStorage、SessionStorage区别 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/060localstorage/060040_token_expiration_time.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # token为什么要设置过期时间,时限多长合适? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/060localstorage/060050_localstorage_safety_problem.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Localstorage 会遇到什么安全问题 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/060localstorage/060060_frontend_storage.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 前端储存的⽅式有哪些? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/060localstorage/060070_indexed_db.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # IndexedDB有哪些特点? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/070cors/070010_browser_homologous.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是同源策略 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/070cors/070020_solving_crossing_problems.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何解决跨越问题 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/070cors/070030_forward_proxy_and_reverse_proxy.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 正向代理和反向代理的区别 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/070cors/070040_nginx.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 Nginx,工作原理? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/070cors/070050_which_cross_domains_are_allowed_by_the_browser.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器对哪些跨域是允许的 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/080event/080010_browser_event.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 事件是什么?事件模型? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/080event/080020_browser_event_flow.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍事件传播机制(事件流),事件传播的三个阶段? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/080event/080030_browser_event_bubbling.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何阻止事件传播(事件冒泡) 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/080event/080040_browser_cancel_default_event.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何取消默认事件 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/080event/080050_browser_event_proxy.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是事件代理(事件委托),使用场景 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/090gc/090010_browser_garbage_generation_and_recycling.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器垃圾是怎么样产生的,为什么需要回收 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/090gc/090020_browser_gc.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器怎么进行垃圾回收(V8 GC) 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/090gc/090030_variable_memory_release.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器中不同类型变量的内存都是何时释放? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/100memoryleak/100010_memory_leak.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是内存泄漏 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/100memoryleak/100020_what_will_cause_memory_leak.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 哪些操作会造成内存泄漏 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/100memoryleak/100030_how_to_view_memory_leak_for_browser.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浏览器中如何查看内存泄漏 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/110other/110010_load_and_domcontentloaded.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # window.onload 和 document.onDOMContentLoaded 有什么区别? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/browser/110other/110020_defer_async.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # defer 和 async ? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/060visual_formatting/060010_ie_w3c_box.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # IE 盒模型和 W3C 盒模型有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - IE 盒模型 11 | 12 | - W3C 盒模型 13 | 14 | 15 | 16 | ## 题解 17 | 18 | 19 | 20 | TODO 21 | 22 | 23 | 24 | 25 | 26 | ## 相同 27 | 28 | 29 | ## 相关 30 | 31 | 32 | ## 扩展 33 | 34 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/060visual_formatting/060020_outer_margin_merge.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?父子外边距合并的范例? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/060visual_formatting/060030_line_height.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # line-height: 2; 和 line-height: 200%; 有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/060visual_formatting/060060_inline_block.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # inline-block 有什么特性?实际应用场景? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/060visual_formatting/060070_del_button_crevice.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何去除两个按钮中间的缝隙问题? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/060visual_formatting/060080_top_align.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 一个页面有一排高度不一样的产品图,这时如果我们用 inline-block ,怎样使他们顶端对齐? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/070box/070040_text_overflow.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 文本溢出加 ... 如何实现? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/070box/070050_circular_clickable_area.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何在页面上实现一个圆形的可点击区域? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/070box/070060_margin_invalid.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # margin 什么时候会无效? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/080float/080010_floating_element.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/090postion/090010_postion.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # postion 有什么属性,static是什么? static 在文档流里吗? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/090postion/090020_positioning_method.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 有几种定位方式?分别是如何实现定位的?参考点是什么?使用场景是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/090postion/090030_absolute_fixed.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # absolute 与 fixed 区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/090postion/090040_zindex.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # z-index 有什么作用?如何使用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100010_flex_grid.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # flex 布局 和 grid 布局区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100020_flex1.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # flex: 1 代表的含义是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100030_waterfall_flow_layout.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # CSS 如何实现瀑布流布局? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100040_horizontally.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何让块级元素水平居中?如何让行内元素水平居中?如何让 inline-block 元素水平居中? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100050_vertical_top_bottom_center.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 垂直上下居中的办法? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100060_vertically_centered.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何实现垂直居中? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100070_margin_auto1.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么 margin:auto 无法实现垂直居中? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100080_margin_auto2.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么图片使用 margin:auto 不能水平居中? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/100layout/100090_principle_of_responsive_layout.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 响应式布局原理? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/110browser/110010_ie6and7_hack.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # IE6、7 的 Hack 写法是? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/110browser/110020_browser_compatible.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 列举常见浏览器兼容性问题及处理范例? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/110browser/110030_css_reset_and_normalize.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # CSS Reset 和 Normalize.css 有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/110browser/110040_css_compiler.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # CSS 预编译器是什么?后编译器(PostCSS)是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/110browser/110050_css_preprocessor.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # CSS 预处理器的比较:Less、Sass? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/120other/120030_coding_specifications.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 列举 CSS 编码规范? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/120other/120040_the_role_of_coding_norms.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | 6 | # 编码规范的作用是什么?列举 5 条以上编码规范 7 | 8 | 9 | ## 题干 10 | 11 | - 12 | 13 | 14 | 15 | ## 题解 16 | 17 | 18 | 19 | TODO 20 | 21 | 22 | 23 | 24 | 25 | ## 相同 26 | 27 | 28 | ## 相关 29 | 30 | 31 | ## 扩展 32 | 33 | -------------------------------------------------------------------------------- /docs/interview/frontend/css/120other/120080_css_quarantine.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 简述 CSS 隔离方案? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/javascript/core/120other/120080_design_patterns_more.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下你了解的设计模式以及使用场景? 6 | 7 | 8 | ## 题干 9 | 10 | - JS 中常用的设计模式 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | ## 相关 23 | 24 | [什么是设计模式?](./120070_design_patterns.md) 25 | 26 | -------------------------------------------------------------------------------- /docs/interview/frontend/javascript/output/040_js_op.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # No.0040 6 | 7 | ## 题干 8 | 9 | ```js 10 | console.log([1, 2, NaN, 3].indexOf(NaN)); 11 | ``` 12 | 13 | 14 | 15 | 16 | ## 题解 17 | 18 | 19 | 20 | ```js 21 | // -1 22 | ``` 23 | 24 | `NaN` 与任何值都不相等,包括它自己 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/javascript/write/0150_js_write_stringify.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 实现 JSON.stringify 方法 6 | 7 | 8 | ## 题干 9 | 10 | - JSON.stringify 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/javascript/write/0160_js_write_parse.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 实现 JSON.parse 方法 6 | 7 | 8 | ## 题干 9 | 10 | - JSON.parse 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/javascript/write/0180_js_write_object.create.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # JS 实现 Object.create 方法 6 | 7 | 8 | ## 题干 9 | 10 | - Object.create 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/interview/frontend/javascript/write/0200_js_write_flatten_arrays.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # JS 实现数组扁平化方法 6 | 7 | 8 | ## 题干 9 | 10 | - flatterArr 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/javascript/write/0220_js_write_eventbus.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # JS 实现发布订阅模式 / EventBus( on、emit、once、off ) 6 | 7 | 8 | ## 题干 9 | 10 | - EventBus( 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/javascript/write/0240_js_write_promise.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # JS 实现 Promise(包含 all、race) 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010010_react_version_line.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 版本线 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010020_react.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈对 React 的理解,它的理念是什么? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010030_react_lifecycle.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React的生命周期有哪些? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010040_what_lifecycles_have_react_abandoned.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 废弃了哪些生命周期?为什么? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010050_react16_props_in_which_lifecycle.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 16.X 中 props 改变后在哪个生命周期中处理 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010060_performance_optimization_in_which_lifecycle.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 性能优化在哪个生命周期?它优化的原理是什么? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010070_state_props_lifecycle_difference.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # state 和 props 触发更新的生命周期分别有什么区别? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010080_network_request_in_which_lifecycle.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React中发起网络请求应该在哪个生命周期中进行?为什么? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010090_must_react_use_jsx.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React必须使用JSX吗? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010100_why_react_uses_jsx.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么 React 要用 JSX? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010110_why_should_jsx_introduce_react.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么使用 JSX 的组件中没有看到使用 React 却需要引入 React? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010120_immutable.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈谈对 immutable 的理解?如何应用在 react 项目中? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010130_react_refs.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React Refs?应用场景? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010140_react16_update.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 16 解决了什么问题,增加了哪些东西 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010150_react17_update.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 17 解决了什么问题,增加了哪些东西 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/010base/010160_react18_update.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 18 解决了什么问题,增加了哪些东西 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相同 24 | 25 | 26 | ## 相关 27 | 28 | 29 | ## 扩展 30 | 31 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020010_setstate_execution_mechanism.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中 setState 执行机制? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020020_setstate_after_calling.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React setState 调用之后发生了什么?是同步还是异步? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020030_setstate_batch_updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中的 setState 批量更新的过程是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020040_getdefaultprops.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中有使用过 getDefaultProps 吗?它有什么作用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020050_setstate_parameter.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中 setState 的第二个参数作用是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020060_setstate_vs_replacestate.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中的 setState 和 replaceState 的区别是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020070_setstate_vs_thisstate.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 在 React 中组件的 this.state 和 setState 有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020080_state_form_reducer_to_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # state 是怎么注入到组件的,从 reducer 到组件经历了什么样的过程 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020090_state_cs_props.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 组件的 state 和 props 有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020100_why_is_it_readonly_for_props.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中的 props 为什么是只读的? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020110_update_components_when_props_change.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中组件的 props 改变时更新组件的有哪些方法? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/020data/020120_how_to_verify_props.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中怎么检验 props?验证 props 的目的是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030010_react_event_mechanism.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 事件机制 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030020_react_vs_dom_event_mechanism.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 的事件和普通的HTML事件有什么不同? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030030_react_event_binding.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 事件绑定的方式有哪些?区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030040_component_event_proxy.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 组件中怎么做事件代理?它的原理是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030050_composite_event.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 合成事件是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030060_react_fiber.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 React-Fiber 的理解,它解决了什么问题? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030100_react_build_components.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 构建组件的方式有哪些?区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030110_react_hoc.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 高阶组件是什么,和普通组件有什么区别,适用什么场景 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030120_hoc_design_patterns.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中的高阶组件运用了什么设计模式? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030130_react_hoc_rendering_efficiency.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中如何提高组件渲染效率?如何避免不必要的 render? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030150_componentwillreceiveprops.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 componentWillReceiveProps 的理解 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030160_react_re_rendering.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 哪些方法会触发 React 重新渲染?重新渲染 render 会做些什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030170_determine_when_to_re_render.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 如何判断什么时候重新渲染组件? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030180_react_component_naming.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 组件命名推荐的方式是哪个? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030190_react_declaration_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 声明组件有哪几种方法,有什么不同? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030200_stateless_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对有状态组件和无状态组件的理解及使用场景 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030210_fragment.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 React 中 Fragment 的理解,它的使用场景是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030220_react_get_dom.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 如何获取组件对应的 DOM 元素? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030230_can_i_access_refs_in_render.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中可以在 render 访问 refs 吗?为什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030240_react_portals.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 React 的插槽(Portals)的理解,如何使用,有哪些使用场景 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030250_react_intl.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 React-Intl 的理解,它的工作原理? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030260_react_context.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 React context 的理解 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030270_no_prioritize_using_context.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么 React 并不推荐优先考虑使用 Context? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030280_react_controlled_components.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中什么是受控组件和非控组件? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030290_react_refs.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中 refs 的作用是什么?有哪些应用场景? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030300_react_component_constructor.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 组件的构造函数有什么作用?它是必须的吗? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030310_forwardref.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React.forwardRef 是什么?它有什么作用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030320_class_function_components.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 类组件与函数组件有什么异同? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030330_component_communication.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 组件通信方式有哪些 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030340_fatherson_crosslevel_nonnested_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 父子组件、跨级组件、非嵌套关系组件 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030350_props_too_deep_hierarchy.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何解决 props 层级过深的问题 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030370_react_state_improvement.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 的状态提升是什么?使用场景有哪些? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030380_rsc.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 RSC?它解决了什么问题? 为什么说 RSC 是 React 的未来? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030390_severcomponent_clientcomponent.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Sever Component 和 Client Component 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/030component/030400_super.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中 super() 和 super(props) 区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040010_react_hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 React Hook 的理解,它的实现原理是什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040020_which_hooks_have_you_used.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 用过哪些 Hook 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040030_classcomponent_vs_hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Class 组件 VS Hook 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040040_which_hooks_have_been_customized.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 自定义过哪些 Hook 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040060_what_problems_have_react_hooks_solved.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React Hooks 解决了哪些问题? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040070_restrictions_on_the_use_of_react_hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React Hook 的使用限制有哪些? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040080_useeffect_vs_useLayouteffect.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # useEffect 与 useLayoutEffect 的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040090_react_hook_attention_points.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React Hooks 在平时开发中需要注意的问题和原因 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/040hooks/040100_react_hook_and_lifecycle.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React Hooks 和生命周期的关系? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050010_redux.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 Redux 的理解,主要解决什么问题 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050020_source_redux.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 原理及工作流程 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050030_asynchronous_requests_in_redux.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 中异步的请求怎么处理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050040_redux_connect.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 中的 connect 有什么作用 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050050_what_is_redux_middleware.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 中间件是什么?接受几个参数?柯里化函数两端的参数具体是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050060_common_middleware_for_redux.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 常用中间件有哪些? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050070_redux_store_and_action.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 中间件是怎么拿到 store 和 action? 然后怎么处理? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050080_redux_thunk.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 异步中间件 redux-thunk 的优劣? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050090_how_does_redux_request_middleware_handle_concurrency.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 请求中间件如何处理并发 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050100_how_to_implement_attribute_transfer_in_redux.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 怎么实现属性传递,介绍下原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050110_redux_state_manager.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 状态管理器和变量挂载到 window 中有什么区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050120_mobox_redux.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # mobox 和 redux 有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050130_redux_vuex.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Redux 和 Vuex 有什么区别,它们的共同思想 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/050state/050150_react_data_persistence.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 数据持久化? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/060router/060010_react_router_mode.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React-Router的路由有几种模式?实现原理? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/060router/060020_react_router_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 常用 Router 组件有哪些? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/060router/060030_react_router_switch.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何配置 React-Router 实现路由切换 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/060router/060040_react_router_redirect.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React-Router怎么设置重定向? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/060router/060050_react_router_link_vs_a.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # react-router 里的 Link 标签和 a 标签的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/060router/060070_react_router4_re_rendering_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React-Router4 怎样在路由变化时重新渲染同一个组件? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/060router/060080_react_router4_switch.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React-Router4 的 Switch 有什么用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070010_source_react_render.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React Render 方法原理?什么时候会触发? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070020_source_asynchronous_rendering.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 异步渲染有那两个阶段? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070030_source_time_slice.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 Time Slice 的理解? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070040_source_vdom.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对虚拟 DOM 的理解?虚拟 DOM 主要做了什么?虚拟 DOM 本身是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070050_vdom_vs_dom.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 虚拟 DOM 的引入与直接操作原生 DOM 相比,哪一个效率更高,为什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070060_source_react_jsx_conversion_dom.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React Jsx 转换成真实 DOM 过程? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070070_source_react_diff.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React diff 算法的原理是什么? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070080_source_react_key.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React key 是干嘛用的 为什么要加?key 主要是解决哪一类问题的 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070090_reactdiff_vs_vuediff.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 与 Vue 的 diff 算法有何不同? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/070source/070100_source_react_fiber.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React-Fiber 实现原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/080practice/080010_react_achieve_dialog_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 实现一个全局的 Dialog 思路? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/090other/090010_react_ssr.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 对 React SSR 的理解 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/090other/090020_react_children_map_vs_js_map.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React.Children.map 和 JS 的 map 有什么区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/090other/090030_react_babel.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 同时引用这三个库 react.js、react-dom.js 和 babel.js 它们都有什么作用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/090other/090040_react_strict_mode.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 的严格模式如何使用,有什么用处? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/090other/090060_react_capture_exceptions.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中如何捕获异常? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/090other/090070_react_lead_into_css.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 中引入 CSS 有哪些方式?区别? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/react/090other/090080_react_performance_optimization.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # React 性能优化? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010001_vue_version_line.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 版本线 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010010_vue.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈你对 Vue 的理解,优缺点 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010020_mvvm_mvp_mvc.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈对 MVVM 的理解,MVC?MVP? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010030_what_is_spa.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 SPA 应用,优缺点 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010040_what_is_progressive_framework.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | 6 | # 为什么说 Vue 是一个渐进式框架 7 | 8 | 9 | ## 题干 10 | 11 | - 12 | 13 | 14 | 15 | ## 题解 16 | 17 | 18 | 19 | TODO 20 | 21 | 22 | 23 | 24 | 25 | ## 相关 26 | 27 | 28 | 29 | ## 扩展 30 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010050_what_is_data_flow.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈你对单向数据流、双向数据流的理解,怎样理解 Vue 的单向数据流 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010060_vue_componentization.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈你对 Vue 组件化的理解 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010070_vif_vfor_mutex.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # v-if 和 v-for 为什么不能连用 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010090_vif_vshow.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 v-if 与 v-show 的区别 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相关 24 | 25 | 26 | 27 | ## 扩展 28 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010100_vhtml.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # v-html 会导致哪些问题 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010110_vmodel_sync.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # v-model 和 sync 修饰符有什么区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010120_why_optionsapi_data_be_a_function.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 中 OptionsAPI 组件 data 为什么必须是函数 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010130_vue_modifiers.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 介绍下 Vue 中常用的修饰符 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010140_custom_instructions.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 中自定义指令有哪些应用场景,如何自定义指令 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010150_custom_instructions_hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 中自定义指令有哪些钩子,分别有什么作用 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010160_why_remove_filters_in_vue3.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue2.x 中存在过滤器,为什么 Vue3.x 中移除了 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010170_vue3_new_features.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue3.x 以及 Vue3.x 的一些新特性 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010180_vue3_performance_improvement.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x 的性能提升主要体现在哪几个方面 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010190_vue3_componsitionapi_optionsapi.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x 中 CompositionAPI 和 OptionsAPI 区别在哪 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010200_vue3_componsitionapi_changes_brought_about.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x 中新引入的 CompositionAPI 带来的变化 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010210_vue3_treeshaking.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x 中 Treeshaking 特性是如何做的 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010220_vue3_ref_reactive.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x 中 ref 和 reactive 区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010240_vue3_setup_created.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x 中 setup 和 created 谁先执行? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/010base/010250_vue3_no_beforecreated_and_created_for_setup.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x setup 中为什么没有 beforeCreate 和 created 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020020_object_dynamic_add_atttr.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue2.x 中给 data 对象动态新增一个属性响应式还存在吗,Vue3.x 呢,为什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020030_objct_dynamic_add_attr_no_response.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何解决 Vue2.x 中给 data 对象动态新增属性页面无响应的问题 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020040_vue3_detect_changes_in_array.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue2.x 中如何检测数组的变化 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020050_vue3_the_first_layer_of_proxy_object.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x 怎样处理 Proxy 只会代理对象的第一层的问题 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020060_vue3_detect_array_manytimes_getset.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue3.x 监测数组的时候可能触发多次 get/set,那么如何防止触发多次 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020070_proxy_defineproperty.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Proxy 相比 defineProperty 的优势在哪里 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020080_vue_watch_and_computed.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是 watch,什么是 computed,区别以及使用场景 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020090_vue_watch_execute_immediately.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 中 watch 会不会立即执行 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/020data/020100_vue_watch_watcheffect.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # watch 和 watchEffect 有什么差异 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030010_components_and_plugins.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 中组件和插件有什么区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030020_asynchronous_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 中为什么要使用异步组件 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030030_how_to_use_components.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 中如何使用组件?如何注册全局组件? 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相关 24 | 25 | 26 | 27 | ## 扩展 28 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030040_component_communication.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 组件通信有哪些方式 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | - 总述知道的所有方式 19 | - 按组件关系阐述使用场景 20 | 21 | 22 | 23 | 24 | 25 | ## 相关 26 | 27 | 28 | 29 | ## 扩展 30 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030060_parent_child_create_and_mount.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 子组件和父组件创建和挂载顺序 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030070_parent_listen_lifecycle_of_the_child.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 父组件可以监听到子组件的生命周期吗? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030080_vue_template_root_element.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么 Vue2.x 组件模板只能有一个根元素,Vue3.x 为什么可以多个 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030100_vue_mixin.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue2.x 中的 Mixin,为什么 Vue3.x 中不需要了 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030110_vue_slot.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 插槽和作用域插槽的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030120_stateless_and_functional_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是无状态组件,什么是函数式组件,有什么区别及优点 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030130_hoc.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈你对高阶组件的理解 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030140_custom_components_use_vmodel.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 自定义组件使用 v-model 如果想要改变事件名或者属性名应该怎么做 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030150_keepalive_cache_components.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 中怎么缓存当前的组件?缓存后怎么更新 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030160_keepalive_lifecycle_function.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 与 keep-alive 相关的生命周期函数是什么,什么场景下会进行使用 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相关 24 | 25 | 26 | 27 | ## 扩展 28 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030170_keepalive_lifecycle.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 设置 keep-alive 缓存的组件完整生命周期流程是什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/030component/030180_source_keepalive.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # keep-alive 的实现原理是什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/040state/040010_vuex.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vuex 是什么?使用场景?如何使用? 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/040state/040020_vuex_and_global_object.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vuex 和单纯的全局对象有什么区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/040state/040030_vuex_shortcoming.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vuex 有什么缺点吗?你在开发过程中有遇到什么问题吗 6 | 7 | 8 | 9 | ## 题干 10 | 11 | - 12 | 13 | 14 | 15 | ## 题解 16 | 17 | 18 | 19 | TODO 20 | 21 | 22 | 23 | 24 | 25 | ## 相关 26 | 27 | 28 | 29 | ## 扩展 30 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/040state/040040_vuex_action_mutation.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vuex 中 action 和 mutation 的区别是什么?为什么要区分它们 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/040state/040050_source_vuex.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 vuex 工作原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/040state/040060_data_persistence.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何实现数据持久化 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/040state/040070_pinia_and_vuex.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Pinia 和 Vuex 区别是什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050010_vuerouter_mode.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue Router 有几种模式,分别是什么 6 | 7 | ## 题干 8 | 9 | - 10 | 11 | 12 | 13 | ## 题解 14 | 15 | 16 | 17 | TODO 18 | 19 | 20 | 21 | 22 | 23 | ## 相关 24 | 25 | 26 | 27 | ## 扩展 28 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050020_source_hash_and_history.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # hash 模式和 history 模式的实现原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050030_router_and_route.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈与 router 与 route 的区别 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050050_single_page_multi_routing_area.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何实现单页面多路由区域操作 6 | 7 | 8 | 9 | ## 题干 10 | 11 | - 12 | 13 | 14 | 15 | ## 题解 16 | 17 | 18 | 19 | TODO 20 | 21 | 22 | 23 | 24 | 25 | ## 相关 26 | 27 | 28 | 29 | ## 扩展 30 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050060_routing_lazy_loading.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何实现路由懒加载 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050070_navigation_hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue Router 有哪几种导航守卫 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050080_navigation_hook_and_lifecycle_hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 路由导航守卫和 Vue 实例生命周期钩子函数的执行顺序 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050090_navigation_parsing_process.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue Router 的完整的导航解析流程是什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/050router/050100_source_vue_router.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如果让你从零开始写一个 Vue Router,说说你的思路 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060010_source_vmodel.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈双向绑定 v-model 的原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060020_source_watch.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 中的 watch 的实现原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060030_source_computed.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 中 computed 的实现原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060040_source_asynchronous_rendering.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 的异步渲染 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | nextTick 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060060_source_event_binding.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 事件绑定原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060070_source_vue_complier.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue complier 的实现原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060090_source_when_does_the_compiler_execute.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 中编译器何时执行,React 有没有编译器 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060100_source_vdom.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈你对虚拟 DOM 的理解 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | - 是什么 19 | - vdom的优缺点 20 | - vdom如何生成,如何成为dom 21 | - 在后续的diff中的作用 22 | 23 | 24 | 25 | 26 | 27 | ## 相关 28 | 29 | 30 | 31 | ## 扩展 32 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060110_source_vdom_to_dom.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈如何从虚拟 DOM 到真实 DOM 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060120_vnode_describe_dom.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈如何用 VNode 描述一个 DOM 结构 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060150_source_minimize_updates.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 中如何实现最小化更新,和 React 有何不同 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060160_source_new_vue_initialization.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 new Vue 实例初始化都发生了什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060170_source_rendering_and_updating.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 中组件渲染和更新过程 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060180_source_instance_mounting.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 实例挂载的过程中发生了什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060190_source_instance_mount_create_responsive_data.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 实例挂载的过程中怎么创建响应式数据 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/060source/060200_source_instance_mount_establish_dependency.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 实例挂载的过程中如何建立依赖关系 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/070practice/070010_optimize_first_screen_rendering.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 项目如何优化首屏渲染速度 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/070practice/070020_vue_page_flashing.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何解决 Vue 非工程化项目,网速慢时初始化页面闪动问题 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | - v-clock 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/070practice/070030_vue_bigdata_rendering_optimization.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # Vue 大数据量渲染优化 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/070practice/070040_vue_performance_optimization.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 的性能优化 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/070practice/070050_vue_model_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈封装一个 Vue 弹框组件的思路 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/070practice/070060_vue_encapsulation_request_module.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 中封装请求模块的思路 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/070practice/070080_vue_permission_management.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue 项目中实现权限管理的思路 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/080other/080010_what_is_ssr.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 什么是服务端渲染(SSR) 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/080other/080020_why_use_ssr.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 为什么使用服务端渲染 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/080other/080030_what_to_consider_for_ssr.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 服务端渲染需要考虑些什么 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/080other/080040_source_ssr.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 谈一谈 Vue SSR 的实现原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/080other/080050_css_scoped.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 如何让 CSS 值在当前的组件中起作用 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/080other/080060_source_css_scoped.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # CSS Scoped 的实现原理 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/frontend/vue/080other/080070_style_penetration_for_css_scoped.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # CSS Scoped 是如何实现样式穿透的 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相关 25 | 26 | 27 | 28 | ## 扩展 29 | -------------------------------------------------------------------------------- /docs/interview/notype/big_data_render.md: -------------------------------------------------------------------------------- 1 | # 十万+ 级数据渲染? -------------------------------------------------------------------------------- /docs/interview/notype/big_file_update.md: -------------------------------------------------------------------------------- 1 | # 大文件上传如何设计实现? -------------------------------------------------------------------------------- /docs/interview/notype/bullet_chat.md: -------------------------------------------------------------------------------- 1 | # B站弹幕不挡人如何实现? -------------------------------------------------------------------------------- /docs/public/images/icon/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/images/icon/android-chrome-192x192.png -------------------------------------------------------------------------------- /docs/public/images/icon/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/images/icon/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/public/images/icon/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/images/icon/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/public/images/icon/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/images/icon/logo.png -------------------------------------------------------------------------------- /docs/public/img/me/avatar.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/img/me/avatar.jpeg -------------------------------------------------------------------------------- /docs/public/img/me/wx.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/img/me/wx.jpeg -------------------------------------------------------------------------------- /docs/public/img/site/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/img/site/logo.ico -------------------------------------------------------------------------------- /docs/public/img/site/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/img/site/logo.jpg -------------------------------------------------------------------------------- /docs/public/img/site/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isboyjc/Interview/e590ea3cea8b5ca6c53ca9f2e7c602d254b39624/docs/public/img/site/logo.png -------------------------------------------------------------------------------- /docs/public/svg/custom/vue.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /scripts/update.js: -------------------------------------------------------------------------------- 1 | import { updateContributors } from "../utils/contributors" 2 | 3 | ;(async () => { 4 | // 更新 Contributors 文件 5 | // 该文件主要作用于整个仓库的贡献者 6 | await updateContributors() 7 | })() -------------------------------------------------------------------------------- /template/subject.md: -------------------------------------------------------------------------------- 1 | --- 2 | contributors: 'isboyjc' 3 | --- 4 | 5 | # 6 | 7 | 8 | ## 题干 9 | 10 | - 11 | 12 | 13 | 14 | ## 题解 15 | 16 | 17 | 18 | TODO 19 | 20 | 21 | 22 | 23 | 24 | ## 相同 25 | 26 | 27 | ## 相关 28 | 29 | 30 | ## 扩展 31 | 32 | --------------------------------------------------------------------------------