面试小记

1.display:none和visibility:hidden两者的区别

display: none:不占用空间

visibility: hidden: 占用空间,元素不显示,但影响布局

visibility: hidden不会影响计数器的计数,如图所示,visibility: hidden虽然让一个元素不见了,但是其计数器仍在运行。这和display: none完全不一样(li的计数)

CSS3的transition支持visibility属性,但是并不支持display,由于transition可以延迟执行,因此可以配合visibility使用纯css实现hover延时显示效果。提高用户体验

2.link和@import的区别

都是引入css文件,最好用link

加载页面时,link标签引入的 CSS 被同时加载;@import引入的 CSS 将在页面加载完毕后被加载。

<style> @import url(‘a.css‘); </style>

@import是 CSS 提供的语法规则,只有导入样式表的作用;link是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。

3.如何实现浏览器内多个标签页之间的通信?

调用 localStorage、sessionStorage、Cookie等本地存储方式。

localStorage和sessionStorage的区别; localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。 sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了。

4.JS延迟加载的几种方式

5.undefined和null的区别

null: Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值。

undefined: Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined。

undefined是访问一个未初始化的变量时返回的值,而null是访问一个尚未存在的对象时所返回的值。因此,可以把undefined看作是空的变量,而null看作是空的对象。

6.进程和线程的区别

  进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

1) 简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

2) 线程的划分尺度小于进程,使得多线程程序的并发性高。

3) 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

4) 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

5) 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

7.区分HTML和HTML5:

1)DOCTYPE声明

2)新增的元素

浏览器不能识别HTML5新标签,可以使用html5shim:(导入一个js文件)

② 移除的元素:

1)纯表现的元素:<basefont> <big> <center> <font> <s> <strike> <tt> <u>。

2)对可用性产生负面影响的元素:<frame> <frameset> <noframes>。

8.请说出三种减少页面加载时间的方法?

1、减少http请求(合并文件、合并图片)

2、优化图片文件,减小其尺寸,特别是缩略图,一定要按尺寸生成缩略图然后调用,不要在网页中用resize方法实现,虽然这样看到的图片外形小了,但是其加载的数据量一点也没减少。曾经见过有人在网页中加载的缩略图,其真实尺寸有10M之巨…普通图像、icon也要尽可能压缩后,可以采用web图像保存、减少颜色数等等方法实现

3、 压缩Javascript、CSS代码

4.标明图片高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。 当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。)

5. css、javascript改由外部调用

如果css、js内容比较庞大,尽量不要写到同1个页面中去,改由外部载入比较妥当,因为浏览器本身会对css、js文件进行缓存。

9.

一般会经历以下几个过程:

1、首先,在浏览器地址栏中输入url

2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。

3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。

4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手

5、握手成功后,浏览器向服务器发送http请求,请求数据包

6、服务器处理收到的请求,将数据返回至浏览器

7、浏览器收到HTTP响应

8、读取页面内容,浏览器渲染,解析html源码

9、生成Dom树、解析css样式、js交互

10、客户端和服务器交互

11、ajax查询

原文地址:https://www.cnblogs.com/ygyy/p/10652430.html

时间: 2024-11-02 17:21:19

面试小记的相关文章

OppoAndroid面试小记

我去的的位于深圳地铁后海站的Oppo,H口出去往左边看就是了,面试约的是7点半,时间没把握好,6点半就到了,在楼下转了转,感觉那边大厦灯光秀还是不错的,等到大概七点左右上去的,公司前台位于8楼,登记的时候还要求拿胶带封住手机前后摄像头,这个操作确实是第一次遇到.不过大楼环境确实挺好的,淡黄色灯光给人感觉很舒服.待客区等待的人还是挺多的,有的甚至直接是在待客区进行的面试,我找地方坐下后便联系了hr,hr说面试官正在进行上一场面试,让我稍等.大概等了半个小时,待客区的人差不多都被带去面试了,终于有一

2019面试小记

最近在找工作,也终于定下来了,记录一下被问过的一些问题吧. 1.登录功能如何测试.(这个问题回答了...额,数不清的次数.有些面试官很nice,会告诉你还有哪个点没有考虑到) 1.ui界面,整体风格是否设计合理. 2.该有的功能是否有,提示框友好提示语,忘记密码功能,注册功能,(或者手机发送验证码) 3.密码是否明文显示 4.账号为空,密码为空,账号密码同时为空 5.根据需求输入异常字符,是否给出错误提示 6.输入正确的账号密码登录成功,并且进入跳转页 7.输入正确的账号,错误的密码登录失败 8

仅用原生JavaScript手写DOM事件模型

前言 前段时间博客园里有篇很火的帖子2016十家公司前端面试小记,主要讲作者的前端求职面试经历,其中提到了面试官会考察手写一个简单的事件模型: "如果上述都ok的话,那么极有可能要求让你[实现事件模型],即写一个类或是一个模块,有两个函数,一个bind一个trigger,分别实现绑定事件和触发事件,核心需求就是可以对某一个事件名称绑定多个事件响应函数,然后触发这个事件名称时,依次按绑定顺序触发相应的响应函数." 如果了解观察者模式,那么事件模型应该不算太难.本着深入钻研的精神,我试着来

2015年阿里实习生面试Java研发工程师 小记

5月5日,广州,阿里实习生面试,Java研发工程师,完全被虐orz 几乎没有Java项目开发经验,接近零基础,去水了一发,毫无悬念的被刷了..RP也是杠杠的,准备过的题目一个都没被问到,算法题也是一条也没出orz,面试官貌似不知ACM是何物,GG了..不过这次面试收获还是挺大的.. 面试前: 出地铁的时候感觉每个年轻人都是去阿里面试的,快到酒店的时候此感更强烈,果然上电梯的时候就认识了两个从湖南过来面阿里的大三师兄,一个产品一个安卓开发,都好厉害,安卓开发的还已经拿了两个offer,其中一个是小

曾经面试踩过的坑,都在这里了~

前言 前段时间面试(包括阿里巴巴的电话面试),遇到过一些面试题,且面试中出现机率较高的提问/笔试,有些答的不是很好挂掉了,今天终于有时间整理出来分享给大家,希望对大家面试有所帮助,都能轻松拿offer. !> 主要分三部分:html.css.js:react/vue等都归类于js,内容来源于面试过程中遇到的.在复习过程中看到认为值得加深巩固.群友交流分享的:如有理解的错误或不足之处,欢迎留言纠错.斧正,这里是@IT·平头哥联盟,我是首席填坑官?苏南(South·Su) ^_^- HTML 1.什

[转帖]「日常小记」linux中强大且常用命令:find、grep

「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.

SpringBoot - 二零一七0421小记

一.SpringBoot使用起来比起SpringMVC更便捷,在注解上的小变化,我记录了下面几个: @Controller + @ResponseBody = SpringMVC中用@RestController来代替前面两个注解,通过这个注解,可以将所有的前端http请求放入SpringBoot的Controller容器中,并返回json格式的数据给前端 @RequestMapping(value={"/hello","/hi"},method=RequestMe

面试宝典_Python.常规算法.0001.在圆圈和框框分别填入1~8数字各一次?

面试题目: 解题思路: 1. 总共8个位置,只要2个圈圈之差等于框框即可,注意倒数第3个数还要和第1个数字运算才算结束,所以可以先生成排列组合然后再通过分片偏移来获取符合条件的结果. 具体实现: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date    : 2016-12-24 12:19:01 # @Author  : 李满满 ([email protected]) # @Link    : http://xmdevops.blog.51

Web前端面试题目及答案汇总

前端新人在面试前都比较焦虑,担心回答不上面试官的问题,也担心自己紧张,其实这都是心理没底的表现,今天和大家分享web前端开发常见面试题及答案,希望可以帮助即将面试的前端同学顺利通过面试. HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分.这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区域或