因为2017年就要回学校开始找工作了,必然免不了遇到各种面试问题,我先开个专栏记录一下,就目前而言遇到的一些问题吧。
案例一: 背景,一家学校附近的小公司,因为头脑发热想去校外做点实习,于是去面试了这家公司。面试我的是一个程序员哥哥,后来加了他的QQ,但是我后来因为知道这家公司实质上是专门作外包的,即使通过了,后来也没有去了。可能对于实习生的认知就是专门负责苦力活儿的吧,问了好几个问题没有答上来,也并没有深究,可能对于实习生的考核也不严吧。这也算是我第一次去参与和前端技术相关的面试了。
记录一下,那位程序员问的几个问题: 1、有没有做过移动端的开发? 后来知道他们现目前的业务是移动端的开发,所以才问我这个问题。说实话,我对于移动端的了解真的蛮少的,只用H5,再加上响应式布局开发过一个小玩意儿,然后其他大型框架就没有接触过了。
2、用没用过Node.js 这个必然是用过的,用Node.js+mongoDB开发过后台系统,用Socket.io写过聊天室,写过爬虫….. 然后他问有没有在实际项目中用nodejs处理后台传过来的参数? 这个我就纳闷了,因为在我所参与的项目中,要么就是MVC,先写静态页面,再用php或者jsp动态渲染;要么就是前后端分离,前端接收后台发来的数据,再渲染到页面中去,它这个我就纳闷是怎么个意思。因为在知乎上看到过用NodeJS做数据转接层,但是原理并不是很了解,因为我觉得那种只有在数据量庞大的情况下才会使用,而他们公司的小项目应该数据量还没有达到那种地步吧。
3、接着,他又问我拿到数据怎么渲染的 我就说多半我用两种框架,jquery和vue,之前用jquery,那就是操作dom,通过append、after,还有就是拼接html字符串,remove等等方法来渲染数据。 而用了vue之后,就像在写php一样,只要把绑定的data放到app页面中或者是template中就可以了。每次请求新的数据只用更新data就可以了。 其实我觉得他问的问题都很白痴。
4、然后,他又问我拖拽事件,还让我现场写!! 我坐在电脑前一时半会被人盯着真的是写不出来,而且我的电脑都是有提示的好嘛。 我就说我写不出来,除非我一个自己默默写,并且还有可能边写边查资料。 他说那你说一下思路吧。 然后我就说,其实有两种方法:一种是通过监听鼠标的mouSEOver、mouseup、mousedown事件;另一种就是H5提供的拖拽事件。 前者是通过监听mouseup,获取坐标位置,然后mouseover不断更新元素的坐标,mousedown之后就固定元素的坐标。 后者是需要一个拖拽元素和放置元素,首先需要设置这两个的拖拽属性为true,然后监听拖拽元素的拖拽事件ondrag,以及放置事件就可以了。
总体而言就是这么几个问题。 后来他去跟老大报告的时候,我看了一下他的网页,发现知乎上面显示的是搜索结果:“如何面试前端程序员“,其中一个回答就是让面试者回答写拖拽==
后来他跟我聊说,其实他也不是搞前端的,他是写后台的,难怪让我用eclipse写代码,不过也谢谢他,让我有了第一次的面试经历。
新闻热点
疑难解答