阿里 淘宝技术部 一面 凉

本来做成了私密,太丢人了。还是记录一下自己的历程吧,也许以后的某天再看看,会觉得这时候的自己好幼稚。。

自我介绍

除了微信小程序,还有没有一些其他和前端相关的经验吗?

课设项目:node服务器端,反向代理,实现前后端分离,用了一周的时间,之后没有再写。以发帖,论坛形式。

微信小程序是针对学校的还是针对全国所有高校呢?

以后做大了会变成“找我吧”,而不是民大找我吧

开发微信小程序过程中遇到的问题,怎么解决的?

最大的问题:回调地狱。没前端基础,promise,解决异步问题。其他的:页面路由,一闪而过的问题。滑动列表上拉加载商品信息的时候,会返回顶部。

除了微信小程序之外,从前端体系的角度讲,学习的路径和方法是什么样的?

学完微信小程序之后就学了前端html,css,js。自己学了angularjs,最近在看react,没有做实际项目。我觉得没有做项目就不算是会这个。

问几个比较具体的问题吧。在浏览器输入一个url之后,到用户能够看到网站上面渲染出的内容,中间经历了哪些环节?

一塌糊涂。。经典问题:在浏览器输入一个url后,会发生什么事情呢?

浏览器渲染原理及流程

你觉得前端比较擅长的是哪一块知识点?

JavaScript。

js中很基础的概念叫闭包,可不可以介绍一下?

闭包是在一个函数中可以访问另一个函数的属性和方法。闭包外部的变量会一直存在在内存中。将函数内部和外部连接起来的桥梁。

形成闭包最根本的原因是什么?

js中在函数外部没办法读取到函数内部的变量,为了解决这个问题,设计了闭包。最大的用处就是读取函数内部的变量,另一个就是让变量的值保存在内存中,不会调用过以后就清除。

使用闭包注意的是:不能滥用,会使函数的变量保存在内存中,让内存消耗很大,导致内存泄漏,和网页的性能问题。所以在退出函数之前要将局部变量清除。

正则表达式中“?”代表什么含义?

问号前面的字符串在字符串中出现0次或1次。

css这,position定位有哪些属性值和各个属性值的定位规则?

CSS position 属性

阿里 淘宝技术部 一面 凉_第1张图片

做前端项目或者做微信小程序的时候有没有遇到性能优化的方法?

微信小程序图片加载的特别慢,因为用户上传的图片非常大,在小程序中用户上传图片以后我将图片进行了压缩,实现了canvas画布的方法,压缩到比较小以后传给服务器,使图片加载的快一些。其他的暂时想不到了。

不是你项目中存在的,你了解到的性能优化还有么?(我:可以给点提示么。。)面试官:。。。就是,正常一个网页,他会去加载什么东西,执行什么东西,有哪些性能优化的点?

引用外部js的时候会使加载阻塞,不要放在head里,要放在body下面,在加载结构的时候不会让用户等待太长时间,再去加载js是一个比较好的方法。

恩还有其他的吗?

比如用ajax可以减少服务器http请求数量,减轻服务器的压力。

做过node工作,可以具体介绍一下吗?

我们项目主要是发帖。页面发送请求的时候是发给我的,我再发给服务器,比如说我这里存储的都是一些静态的资源,比如说发帖,就会以帖子id加上帖子内容作为一个json的字符串,存在我node端,想要看的时候,我就从我的文件里读取。给后端服务器减少了一些压力。比如说用户的注册,登录,是我对信息进行一个校验再转发给后端。后端在数据库里查询,返回给我,我再对页面进行一个操作。

那这个node服务的意义是什么呢?

实现了前后端分离。。前端如果使用了框架的话,页面也可以不保存在我这里,node分担了服务器的压力,前后端分离了以后设计前端的人可以专心设计前端,后端的人可以专心做后端的东西,而不是说把所有的东西都放到一个项目里进行整合,,比较麻烦。。

我没有太理解你说的前后端分离到底是怎么分离的。。

做前端的人专注于做页面,之间是以json传递的,就不会像普通的项目一样,把前端页面最后也要给服务器,浏览器访问的时候要访问这个服务器,服务器再把页面发送给浏览器。。就是有了中间的node以后就会让前端的人专注于发送或者接收,对页面进行修改,后端的人专注于处理数据。

ok,明天什么时候方便,我们做一个笔试。需要你有电脑的情况下。

ok我明天再联系你,今天先这样,白白。。

 

 

你可能感兴趣的:(面试)