最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 成都 -知道创宇 面试总结

    正文概述 掘金(112_)   2021-08-26   861

    24号,面试了一家成都-知道创宇,相比上次的面试,这次还是有一些的进步,但遗憾的是未能入围下一轮面试;知耻而后勇,再接再厉,总结总结,迎接下一次的面试!

    自我介绍+项目介绍

    面试题

    1.介绍弹性布局

    我的回答

    弹性布局又叫flex布局,它代替了以往的“position+display+float”,可以简单,快速的实现布局页面。
    

    2.弹性布局的属性

    我的回答

    -   flex-direction
    -   flex-wrap
    -   flex-flow
    -   justify-content
    -   align-items
    (有点小忘记,只回答了五种,其实还有个align-content)
    

    3.space-between 和 space-around 的区别

    我的回答

    只是简单的说了它们布局之间的空白数,宽度不同
    

    总结的回答

    space-between 最左、最右item贴合左侧或右侧边框,item与item之间间距相等。
    space-around 每个item 左右方向的margin相等。两个item中间的间距会比较大。  
    

    成都 -知道创宇 面试总结

    4.space-between 和 space-around 间间距的计算规则

    我的回答

    null(学艺不精呐)
    

    总结回答

    1.space-between
        行总宽度 = item的宽度 + 1间距 + item的宽度 + 1间距 + item的宽度
        1.1.  行总宽减去各个item的宽度
        1.2.  将剩余宽度平分赋值给间距
    2.space-around
        行总宽度 = 0.5间距 + item的宽度 + 1间距 + item的宽度 + 1间距 + item的宽度 + 0.5间距
        2.1.  行总宽减去各个item的宽度
        2.2.  将剩余宽度按照比例赋值给间距
    

    5.css类选择器

    我的回答

    必须有class或者className 为一个适当的值,才能使用。
    

    总结回答

    1. 结合元素选择器
    2. 多类选择器
    

    6.网格布局属性

    我的回答

    1、使用网格布局: display: grid
    2、指定容器设为行内元素并使用网格布局: display: inline-grid
    3、列宽:grid-template-columns
    4、行高:grid-template-row
    5、重复赋值:repeat(次数,值)
    6、比例:fr(如 grid-template-columns: 1fr 2fr;意思是容器分为2列,二列的宽度是一列的2倍)
    8、自动填充:auto-fill
    

    总结回答

    可以参考参考 阮一峰的这篇文章
    http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html
    

    7.闭包

    我的回答

    函数内部返回一个函数,返回的函数对父级作用域的变量存在引用。
    优势:私有变量,变量长期在内存中,不会消失
    缺点:不释放,会引起内存泄漏
    

    8.垃圾回收

    我的回答

    垃圾回收 就是执行环境会负责管理一些不被需要的变量,并释放他们的内存。
    

    总结回答

    js的垃圾回收机制可以参考这篇文章,详细介绍了垃圾回收是啥,何时清理,怎么清理以及对性能的影响
    https://juejin.cn/post/6844903781079973902
    

    9.基本数据类型

    我的回答

       Number、String、Boolean、Null和Undefind、Symbol(ES6)、BigInt(ES11)
    

    10.基本数据类型和引用数据类型区别

    我的回答

    存储位置:
                1.基本数据类型是存储在栈中。
                2.引用数据类型的值是在堆中,栈中则是引用地址。
    传递方式:
                1.基本数据类型是按数值传递。
                2.引用数据类型是按引用传递,传递的是副本。
    

    11.深、浅拷贝

    我的回答

    -   浅拷贝:如果属性是基本数据类型,拷贝的就是基本类型的值。 如果属性是引用数据类型,拷贝的是引用类型的内存地址;新拷贝的值会影响原来的值
    -   深拷贝:深拷贝是从内存中完整的拷贝一份出来,在堆内存中开一个新的内存空间,与原对象完全独立。修改新对象不会影响原对象。
    深拷贝方法:
            1.浅拷贝+递归
            2.序列化与反序列化:JSON.stringify JSON.parse 
    

    12.函数式组件和类组件区别

    我的回答

    (刚好在上一次面试后,就去总结了下)
    
    1.定义组件:类组件是以class定义,函数组件是以javascript函数方式来定义
    2.组件传参:类组件需要this来引用,函数组件是函数参数传递
    3.state&生命周期:类组件是用setState来更新state,且用生命周期,函数组件使用函数hooks中useState来更新state,没有生命周期
    4.获取渲染时的值:类组件是用闭包来捕捉,而函数组件用hooks。
    

    13.React中跨级组件传值

    我的回答

    我答成了 用dva来实现跨级组件传值
    

    总结回答

    context 通过组件树提供了一个传递数据的方法,从而避免了在每一个层级手动的传递 props 属性。
        1.调用React.createContext() 创建Provider(提供数据)和Consumer(消费数据)两个组件
        2.使用Provider组件作为父节点
        3.设置value属性,表示要传递的数据
        4.调用Consumer组件接收数据(Consumer组件中,回调函数的参数,就是Provider传递来的参数)
    

    14.网络请求

    我的回答

    第一步是在浏览器中输入目标网址url,然后发送到DNS获取对应的ip地址,接着链接tcp协议,向服务器发送http或者https请求,然后服务器响应请求,返回给客户端html源文件,到最后的解析,完成页面的渲染。
    

    总结回答

    可以参考这篇文章
    https://www.cnblogs.com/zzm96/p/12740055.html
    

    15.缓存有哪些?有什么区别?

    我的回答

    强缓存和协商缓存
    区别:
    1.  强缓存:不会向服务器发送请求,直接从缓存中读取资源,在chrome控制台的network选项中可以看到该请求返回200的状态码;
    2.  协商缓存:向服务器发送请求,服务器会根据这个请求的request header的一些参数来判断是否命中协商缓存,如果命中,则返回304状态码并带上新的response header通知浏览器从缓存中读取资源;
    两者的共同点是,都是从客户端缓存中读取资源;区别是强缓存不会发请求,协商缓存会发请求
    

    16.http状态码有哪些?

    我的回答

    1. 200  //返回成功
    2. 301  //永久重定向
    3. 302  //临时重定向
    4. 304  //资源未修改,使用协商缓存
    5. 307  //与302类似,临时重定向,使用GET方式
    6. 400  //请求报文出现语法错误
    7. 401  //未登录,需要请求认证
    8. 403  //无权限访问,被拒绝
    9. 404  //资源不存在
    10. 408 //请求超时
    11. 500  //服务器内部错误
    12. 503  //服务器繁忙或维护(请求太频繁)
    13. 505  //不支持请求的HTTP版本
    

    17.三次握手

    我的回答

        第一次:客户端可以发送请求
        第二次:服务端可以接受和发送请求
        第三次:客户端可以接受请求
    

    18.跨域通信的有哪些方法

    我的回答

    1.jsonp(利用script标签没有跨域限制的漏洞实现。缺点:只支持GET请求)。
    2.CORS(设置Access-Control-Allow-Origin:指定可访问资源的域名)。
    3.Node 作为中间代理。
    4.Nginx 反向代理。
    5.Websocket是HTML5的一个持久化的协议,它实现了浏览器与服务器的全双工通信,同时也是跨域的一种解决方案。
    6.各种嵌套iframe的方式。
    

    19.浏览器的本地存储?有何区别?

    我的回答

    浏览器的本地存储主要分为Cookie、localStorage和sessionStorage。
    区别:
           1.cookie会在浏览器和服务器之间来回传递,而其他两种则只是在本地存储
           2.cookie存储大小只有4k,而其他两种则是5M
           3.cookie只在设置的过期时间内有效,即使窗口或者浏览器关闭;而sessionStorage仅在当前浏览器窗口关闭之前有效,localStorage始终有效,即使当前窗口被关闭
           4.cookie在所有同源窗口中是共享的,localStorage通cookie,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面。
    

    20.反回

    我的回答

    实习生的要求
    公司的技术栈、项目方向
    

    总结

    问的不多,零零碎碎大概在20几个,有些知识还是没有复习到,没能进入下一轮的面试。失败总是成功之母,只要一次比一次有进步,冲吧!
    

    起源地下载网 » 成都 -知道创宇 面试总结

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元