2017年08月31日又开始上班了,我总结下我面试的一些题目,当然有些我没有回答上来。
面试的第一天天气很不好,下着大雨,今天要面试三家公司,公司都相距很远,面试的第一家是做管理系统的后台是用php的,到了以后填写了相关信息,面试岗位,等等。给了一份面试题,上面就三个大题,第一道题目是关于迭代。
题目一
用迭代实现1+2+3+4+5+…+n求值
写的时候就忘了迭代与循环的什么关系这道题没有写出来
回去以后就查了查迭代与循环的关系
迭代是循环的一种。
var n = 100;
var s = 0;
for (var i = 1; i <= n; i++ ) {
s += i;
console.log(s)
}
题目二
第二道题是类似杨辉三角形
也没有做出来,具体题目我不大记得了,等我回想然后再去上传题目
##题目三
第三道题目类似有个字符串把他进行倒叙输出再把
首字母转换为大写。
var reverse = function (str) {
return str.split(‘ ‘).reverse().join(‘ ‘);
}
function titleCase(str) {
str = str.toLowerCase().split(‘ ‘);
for (var i in str) {
str[i] = str[i].replace(str[i].charAt(0), str[i].charAt(0).toUpperCase());
};
return str.join(‘ ‘);
}
console.log(titleCase(reverse(‘this is apple’))); //“Hello World” 著作权归作者所有。
三道题一道题目也没有做出来,内心很难受,就意识到基础知识的薄弱,我也希望有同学看到我的面试经历,自己会去思考自己哪方面的知识稍微薄弱,可以去加深下。
这是第一家面试公司,结果失败,很糟糕接下来的面试说实话都不想去了,但是已经约了人家了就硬着头皮去了。
——————————————第一家结束—————————————-
第二家开始,第二家做的是一些汽车的网站。
第二家面试的题目
题目一
面试的技术跟我说了这样一个问题,比如说现在有这样一个问题项目已经完成并打包上线,但是出现个问题比如说有个汽车的价格写的不对,运营方面就直接修改了线上的价格,但是这样就出现了一个问题,如果运营直接把线上的修改了就会和本地的产生了差异,怎么才能不出现这个问题(大概是这个意思),那我就说,先给用户去看,如果没有问题了,再去把本地的去做更改,再去打包,部署到线上。然后他就点点头。(?).
题目二
说说git与svn的区别
我没有回答出来,面试官告诉我的是git是分布式的自己可以玩,而svn不能自己玩(大概就是这个意思)
回去百度了下
答案如下:
1.GIT是分布式的,SVN不是:
这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper, Mercurial等,也是运行在分布式模式上的。但GIT在这方面做的更好,而且有更多强大的功能特征。
GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提交文件,查看历史版本记录,创建项目分支,等。对一些人来说,这好像没多大用处,但当你突然遇到没有网络的环境时,这个将解决你的大麻烦。
同样,这种分布式的操作模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。GitHub.com就是一个这样的优秀案例。
有些谣言传出来说subversion将来的版本也会基于分布式模式。但至少目前还看不出来。
2.GIT把内容按元数据方式存储,而SVN是按文件:
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
3.GIT分支和SVN的分支不同:
分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。感谢Ben同学指出这个特征。所以,经常会发生有些分支被遗漏的情况。
然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。
Git logo
4.GIT没有一个全局的版本号,而SVN有:
目前为止这是跟SVN相比GIT缺少的最大的一个特征。你也知道,SVN的版本号实际是任何一个相应时间的源代码快照。我认为它是从CVS进化到SVN的最大的一个突破。因为GIT和SVN从概念上就不同,我不知道GIT里是什么特征与之对应。如果你有任何的线索,请在评论里奉献出来与大家共享。
更新:有些读者指出,我们可以使用GIT的SHA-1来唯一的标识一个代码快照。这个并不能完全的代替SVN里容易阅读的数字版本号。但,用途应该是相同的。
5.GIT的内容完整性要优于SVN:
GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
题目三
说说webpack与grunt或gulp的异同
同:我回答的是这三个都是打包自动化工具,都是为了提升工作效率.
异:我回答的是webpack可以对一些图片或者js css等进行打包压缩,而gulp或grunt不能。
grunt与gulp是自动化工具,而webpack是前端模块化工具。
##题目四
说说var和let的区别
我回答的是作用域的不一样,在作用域外var可以在作用域内访问到而let不可以,let只能在那里定义在那里访问。
使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象;
使用let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升;
使用const声明的是常量,在后面出现的代码中不能再修改该常量的值。
题目五
说一个div元素距离顶部为10像素在其内部也有个div距离上一个div的距离也是10像素,那么内部的div元素距离顶部是多少像素。
我回答的是20像素,面试官告诉我是10像素,我问他为什么他说这是一个坑。
题目五
说下vue是不是适合像政府类的网站
我回答的是不适合,因为我觉得vue是轻量级的,而政府类的一般都是内容比较多的,特别的臃肿,所以我觉得不太适合。
题目五
用jquery和vue分别实现导航高亮显示
jquery就是选择元素当鼠标点击时当前的元素给他添加一个class样式,而他的兄弟节点进行removClass保持正常。
vue我回答的不好,或者说不对。就不说了。
题目六
第二家公司大体就是这样,最后跟我说一两天给我消息,我就走了,走的时候忘了拿伞又回去拿伞碰到了他们老板,他们老板让我去他办公司聊聊,聊了聊发现他认识我以前的同事,最后问了我薪资要求.(乌龙)
—————————————–第二家结束——————————————
赶去第三家,第三家比较远,做公交车,坐了一个小时多点,到了地方进行简单的自我介绍.
开始面试的不是技术,就稍微问了我基本情况,过了一会让我进行了电话面试。
题目一
说下怎么jquery怎么跨域
讲道理之前看了跨域的实现方式有8种,我就回答可能是用的最多的一种jsonp
题目二
vue和jquery的区别
我回答的是:我觉得vue他本身是框架,而jquery他是库,框架他制定了一种自己的规则,你想要使用他你就要去按照他的方式去使用,而jquery他是一个库,引入就可以使用,我觉得他们两个不能进行比较。
过了一会他们老板进来了问了我平常喜欢做什么,我就说喜欢coding(抖个机灵),然后就问了一些个人情况,最后问我,面试几家了,我说好几家了(其实想博一下)然后跟我说来我们公司吧,其他的就不用去了,我说我考虑下,跟我说不用考虑了,我说你们公司现在前端多少人,他说都是新招的,我又问了他们用的什么框架,用的是can我不知道。
然后跟我说,他是从阿里出来的,然后又是说了马云爸爸的激励人生的名言。
回去以后五点左右,开始继续投递,然后约了第二天面试的公司。。。
————————————–第三家结束———————————————
第二天去了离我住的很近的一个公司,但是要求很多,心理很虚.
第一家公司题目
题目一
等我整理下再来补充
——————————————第四家结束—————————————–
第五家
简单问了问你用什么编辑器,我说了某某,然后跟我说了公司的基本情况,然后等等,公司是用vue的,然后给他看了看我打包的app但流畅性不好,最后问了问薪资,等等。
————————————第五家结束———————————————–
第六家
题目一
说说怎么让一个函数怎么页面一加载就立即执行,我说了让window.onload等于那个函数,这样页面一加载函数就会立即执行,我问他这样可不可以,他说不行,我又说写个立即执行函数可以吗,他说也不行。
题目二
问了我关于怎么让页面一加载就调用数据,说实话我是不理解的。
题目三
问了html接近满了,说实话很心虚(当时写的有点多,呵呵)。友情提示:关于技能方面不要写那么多,那么满。
题目五
问了我psd图能还原多少,我说我没有办法做到100%还原。。。GG
还有问了我看了什么书我说权威指南与你不知道的javascript他说权威指南不好….?(为啥)
还有几个但是我给忘了,想起来再补充。
人事给我说了薪资,等等一些方面,说给我打电话。
——————————————-面试结束——————————————
最后我去了第三家,因为离我很近, 而且技术方面我觉得可能更合适我。
就先这样。