一个前端岗位电话面试所带来的问题的思考

这绝对不是一篇技术文,如果你不喜欢,也请不要喷,你可以看看都有哪些问题,当然,在这里你可能得不到问题的答案,不懂的你可能需要自己去百度,也可以在下面留言交流,我已经声明了,这不是一篇纯技术文章,不喜勿碰,忽略就是;做文明人,共创一个和谐的网络环境,谢谢;

一、javascript方面问题

1、简单介绍项目以及所用到的技术,团队规模

这里就不一一细说了,反正就是霹雳拍啦一大堆,然后就介绍完了,介绍完了之后,面试官接下来问的问题也基本是根据我描述项目中所涉及到的技术去问吧,直接看问题吧!

2、ajax VS websoket

在websocket没有出现的时期,我们想要在聊天室这种形态模式下去轮询查询新的数据,基本通过setInterval固定时间去刷新请求,并发不大的时候,还要好点,服务器差不多的都能撑得住,但是并发一旦大起来,请求一多,好嘛,服务器数据库直接蹦;
而websocket这种,只需请求一次,那就是连接服务器,一旦连接,数据,服务器主动推送给客户端,虽然他对服务器一直keep-alive这种状态,需要消耗服务器内存,但是相对于ajax无数次不应的请求来说,肯定是大大提高了性能的;
当然两者肯定有优点有缺定,毕竟性质不一样,我觉得大家还是有必要了解一下这两者区别的

3、jQuery VS vue

可能很多人觉得这有什么可比性,其实我个人觉得,还就是jQuery和这类mv*框架有比较的价值,你想想,三大框架(vue、react、angluar)基本都是操作数据,虚拟DOM,双向绑定什么的,这三个框架之间的对比,大致是实现的方式去对比;
但是jQuery,基本是通过操作DOM,完全不一样的库,他们之间两个阵营当然更有可比性; (不喜勿碰,个人见解)

4、setInterval 时间是否会有误差?产生误差的原因?其原理是什么?

这个问题,误差肯定是会差生的,你想啊,setInterval异步函数,异步执行,js被解析的时候,碰到他,先不解析他,放他在一旁,先去解析同步的,等资源空闲下来的才去解析他,这样一来,解析其他代码肯定需要时间,这不就有延误嘛。
然后解析setInterval内部函数不也一样需要耗时,函数简单些还好写,你要是写了一大堆,那乖乖,可能产生的延误就不是一点点的;

5、闭包

老生常谈的问题,基本每个前端不管是初级,中级,高级或者资深前端都会被问到的问题吧; 简单点说就是一句话:有权访问另一个函数作用域内变量的函数都是闭包; 具体的附上MDN的解释,我就不做过多解释了 MDN地址

6、IE中造成内存泄漏情况以及原因

这个可能在IE,尤其IE8中表现的最明显,毕竟其他浏览器就是会很卡,但是IE8是直接崩溃,哈,真任性!具体的大家还是去百度吧,当然这个问题不仅仅是存在IE浏览器中,在各个浏览器中都存在;

7、浏览器垃圾回收机制

相信大部分语言,都有这么个机制,不需要在引用的变量之类的将会被回收,不然的一直常驻在内存中,那好嘛,浏览器迟早被你弄奔溃,闭包里面的就不行了,垃圾回收机制检查不到你这个变量是否被应用啊,所以嘛,造成内存泄漏了,如果并非必要,大家还是少写点闭包,写了请手动删除一下或者置为空,毕竟咱们的性能能提升就提升嘛,小细节解决了隐藏的大部分问题不是吗?

8、双向数据实现原理

这还是因为三大框架的出现,出现这么个话题,所以说,现在的趋势就是这样,你必须去了解,作为一个前端,你不能停止学习;否则你必将会被淘汰,而且很快,有多快?就像16年之前,你可以凭借html css jq,你就可以找到一份能解决温饱的问题了;
但是17年可能就困难很多了,当然也不是绝对的说,同时也不是说jq已经OUT了,我个人觉得jq至少在现今还是没有任何OUT的,如果作为一个真正将前端作为未来职业的人,JQ是必备的一种技能;
但是在这基础上,你还要必须学会三大框架的至少一种,在中国的这样的行情下,可能react和vue更加吃香吧,如果你还没有入手三大框架,个人建议从vue和react中选一个先学,你只有在环境中生存了下来,才能有时间去学习更多的东西,做自己想做的事情; 扯远了,说回双向数据绑定,这个还是要去理解一下的,至少知道Object.defineProperty()是怎么用的,他是个什么东西

9、页面优化

这个就是平时我们必须面对的一个问题,所以大家还是要去多多关注多多了解,

10、浏览器缓存原理

讲真,这个问题我没有回答的很好,因为毕竟,那啥,好吧,我么有研究过这个问题;要是说说cookie,sessionStorage,localStorage我还能讲出来,这个原理可能真被问住了,好吧,我表示自己真的有欠缺的方面;只能自己加加油了

11、虚拟DOM

其实主要是因为vue/react这些框架的出现,这个概念才热起来,个人觉得还是有很多公司会问这类问题的,大家还是要去了解了解

12、在项目中遇到难题以及解决方式

当然也是一顿噼里啪啦,其实每个人在项目中多多少少都会碰到吧,至于解决方式,我就是回答基本自行百度,或者去技术交流群询问之类的,不知道大家会怎么回答这样的问题,如果可以,欢迎留言交流


二、css方面问题

当时面试官在问css问题之前,先问了一下我会不会css,好吧,当时我愣了一下,说了句,那是会的,其实针对css并没有问太多,就两个问题,请看下面具体问题

1、对盒模型的理解

盒模型主要包括如下几点:margin border padding content;根据width或者height计算时包含的内容不同,而被分为以下两种盒模型
1、IE盒模型(准确的说是IE8以下盒模型),江湖人称怪异盒模型;当我们计算width或者height的时候,在IE8以下盒模型时,是包括了padding border content三者一起算的
2、IE8及其以上版本浏览器盒模型和w3c盒模型,江湖人称标准盒模型;这种盒模型在我们计算width或者height的时候,是不包括padding border在内的,而是单一计算content的大小;

2、布局方式

大概包括以下几种布局方式:
1、弹性布局
2、固定布局
3、流体布局
4、混合布局
5、绝对定位布局


三、我所要问的问题

当然只是问了一下做什么项目、我去主要做什么、技术栈、加班情况等等这些;当然,其实可能有的人会问,为什么没有问福利,薪资待遇什么的,我个人是觉得,这只是电话面试,后面还有很多面,有些问题,不是当面说更好吗?

四、结束语

每家公司每个区域面试所问的问题可能都不一样,如果大家在面试中遇到了什么问题,或者觉得有什么好技术性面试题,欢迎大家留言交流,也欢迎大家对以上面试进行积极的讨论,能回答大家的技术性问题,我一定会回答,感谢大家的阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring MVC –揭秘了@RequestBody和@ResponseBody

在这篇文章中,我想对Spring MVC进行一些深入的探讨,以揭示将请求转换为参数对象后在幕后发生的情况,反之亦然。 在开始之前,我想解释这些注释的目的。 RequestBody和ResponseBody是做什么用的? 它们是spring mvc框架的…

python大作业外星人入侵_【python3小白上路系列】外星人入侵——开始

早起的周日,今日阴天,老爸生日快乐~开始项目首先创建一个空的Pygame窗口,供后面用来绘制游戏元素,如飞船和外星人。我们还将让这个游戏响应用户输入、设置背景色以及加载飞船图像。1.1.1 创建Pygame窗口以及相应用户输入首先&…

Codeforces 975D Ghosts 【math】

打了两次cf里的比赛,发现cf比较喜欢考数学题。一开始看到这道题没有思路,因为总想dp,图论,贪心这些东西。如果下次再没有思路,可以从数学的角度入手。 题解说的比较清楚: 2018.9.4又看了遍这题,…

前后台分离之数据模拟

在前后端分离的项目中,前后端约定好接口以后,就开始进入各自的开发阶段了,这时候我们前端不可避免的就需要进行数据模拟,那么怎么进行数据模拟呢?我觉得有两种: 在 客户端 模拟数据,也就是在我…

碎玻璃:诊断生产Cassandra问题

我刚刚在健康市场科学(HMS)成立二周年之际,我们几乎一直在这里与Cassandra一起工作。 那时,我们遇到的问题很少。 就像我曾经使用过的其他几种技术一样,Cassandra“行之有效”。 但是,就像我曾经使用过的*…

java 一维数组_java基础 ---- 一维数组

为什么要使用数组: 因为不使用数组计算多个变量的时候太繁琐,不利于数据的处理。-------- 数组也是一个变量,是存储一组相同类型的变量声明一个变量就是在内存中划出一块合适的空间声明一个数组就是在内存中划出一块连续的空间数组长度就是…

四则运算2

作业描述: 悲催的二柱子接到了老师要求给软件增加一些小小的功能,具体要求如下: 1、除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性); 2、一次出的题目避免相互重复; …

Java中的策略设计模式-示例教程

策略模式是行为设计模式之一 。 当我们对一个特定任务有多种算法,并且客户端决定在运行时使用的实际实现时,将使用策略模式。 策略模式也称为策略模式 。 我们定义了多种算法,并让客户端应用程序将算法用作参数。 此模式的最佳示例之一是采用…

MySQL数据库主从复制

使用gtid (也需要开启binlog日志) CHANGE MASTER TO MASTER_HOST’192.168.95.11’, MASTER_USER’mysql12’, MASTER_PASSWORD’mysql12’,MASTER_AUTO_POSITION 1; 使用binlog CHANGE MASTER TO MASTER_HOST’192.168.95.12’, MASTER_USER’mysql…

vue-cli 3.0 使用全过程讲解

2018年8月13日更新: 恭祝vue-cli 3.0.0 官方正式版发布,此后我们可以正式在3.0环境下进行项目开发了。 此文发布以来受到了很多朋友的阅读,但我深知这篇文章还是很浅显的,因此,我会在后续的 3.0 使用过程中分享我遇到…

java反射机制在spring_Java反射机制在Spring IOC中的应用

IOC:即“控制反转”,不是什么技术,而是一种思想。使用IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。本篇文章主要讲解一下IOC底层实现的原理(反射),Bean容器的实现,就不对I…

【图像处理】Haar-like特征

特征提取的原理、代码等; 如果是白黑白,是减去一个黑的还是2个黑的,网上有不同的说法;应该需要看原论文了。 论文原文 The sum of the pixels which lie within the white rectangles are subtracted from the sum of pixels in t…

mysql获取某个表的所有字段名

转载:mym43210 mysql安装成功后可以看到已经存在mysql、information_schema和test这个几个数据库。 information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库中所有表的字段信息。 知道这个表后,获取任意表的字段就只需要一条sele…

neo4j / cypher:悬挂查询参数

一直以来,我一直在使用neo4j的密码查询语言, 迈克尔一直在告诉我在查询中使用参数,但是查询的性能始终可以接受,因此我没有必要。 但是,最近我正在研究一个数据集,并使用类似于以下的代码创建了约500个节点…

java调用浏览器组件来_Java 网页浏览器组件介绍

在使用 Java 开发客户端程序时,有时会需要在界面中使用网页浏览器组件,用来显示一段 HTML 或者一个特定的网址。本文将介绍在界面中使用浏览器组件的四种方法,给出示例的代码,并且分析每种方法的优点与不足,便于 Java …

前端入行两年--教会了我这些道理

1.前言 光阴似箭,日月如梭。不得不感慨时间过得很快,2017差不多结束了,一下子我从事前端开发的时间已经两年了。这两年可以说是一波三折,回想这两年的经历,让我忍不住了写下了这篇文章,记录自己在这两年经历…

解决Nginx: [error] open() Nginx.pid

使用nginx -c的参数指定nginx.conf文件的位置 sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf 转载于:https://www.cnblogs.com/vannn/p/9756132.html

巴霍巴利王

巴霍巴利王 惊心动魄的宫廷政变,必然铸就新的王朝更迭。时代的婉转,终究选上得民心的君主。我们的故事就这样悄无声息的将你带入幽深的宫廷内院。 夜幕之中,面对寒冷与杀戮,一位身负重伤王室女人,抱着一个新生儿&#…

Java中的观察者设计模式-示例教程

观察者模式是行为设计模式之一 。 当您对对象的状态感兴趣并希望在发生任何更改时得到通知时,观察者设计模式很有用。 在观察者模式中,监视另一个对象状态的对象称为Observer ,而正在监视的对象称为Subject 。 根据GoF,观察者模式…

华为大数求和 java_大数乘积java

{"data":{"id":"8000-000000437045-0","name":"SEO专题页栏目分发组","type":"1","position":"8000-000000004003-0","status":1,"linkList":[{"id"…