我的面经

nice问的问题主要有

  1. css3

    1.1

    动画、渐变

    1.2

    元素定高和不定高的水平垂直居中

    1.3

    canvas画布问题


2.HTML5
列表显示,item定宽,又有外边距,如何保证一行三列。ps(其实我后来想了想,这也是变相问我boostrap栅栏布局的实现吧)。


3.Jquery

3.1

delegate和on的异同

3.2

Ajax跨越请求,Jsonp的原理,除jsonp外还有哪些跨越方法

3.3

attr和prop的区别


4.Less,grunt
因为简历中提到过LESS,问了我less,grunt如果预编译的


5.js

5.1

问了下是否有模块化开发经验

5.2

继承的原理

5.3
1.2+1.4 == 2.6 //false
由于数字在计算机中以二进制方式存储,所以1.2+1.4 的值为2.59999999 ,并不等于2.6

转自JavaScript 中的相等性判断
判等列表
判等列表

总结下内心的心路历程吧,nice的工作环境和发展方向都是我很喜欢的,而且当天问的问题都是基础题。但是当天状况多多,各种迷路再加上担心下午上班(是的,很不厚道的吃着碗里的看着锅里的),迟到了半个小时整个人都是不好的,所以很多题意外又不意外的失误了,很是遗憾,和nice擦肩而过。太笨了


另附上当时的几道小题,考察的是js的函数作用域的变量提升问题, this和原型链三个知识点
Q1:函数变量提升

function test() {
            console.log(a);
            console.log(b());
            var a = 1;
            function b() {
                return 2;
            }
        }
        test();
        ----输出 undifined , 2

简单解释下,js函数内部,变量声明提升到函数顶部,但是赋值部分不会随着变量提升。所以相当于进入函数内部时,已经有了var a, var b了。and, b是函数声明, 函数体随之也会提升到函数顶部。
另外多说点:
js是没有块级作用域的,它不会像c, c++那样,{} 保护变量的作用域,js是以函数为作用域的。函数内部可以访问到外部的作用域,函数外部却无法访问函数内部作用域的。


Q2:this

var name = '北京';
        var obj = {
            name: '上海',
            prop: {
                name: '天津',
                getName: function() {
                    return this.name;
                }
            }

        }
        console.log(obj.prop.getName());
        var test = obj.prop.getName;
        test();
                ----这里输出天津,北京

this代表正在执行的环境,第一个输出时: 当前所在环境this值为obj.prop,所以返回的name为天津。
第二个输出时: 当前所在的环境this 是全局变量,所以name 值为北京。
那么如何修改test的this值,让它也同样输出天津呢,我们可以采用bind()方法,改变this的指向:

var name = '北京';
        var obj = {
            name: '上海',
            prop: {
                name: '天津',
                getName: function() {
                    return this.name;
                }
            }

        }
        console.log(obj.prop.getName());
        var test = obj.prop.getName.bind(obj.prop);
        test();
        -----此时,输出的结果为 天津,天津

Q3:原型链

        Object.prototype.bar = 1;
        var foo = {goo: undefined};
        console.log(foo.bar);
        console.log('bar' in foo);
        console.log(foo.hasOwnProperty('bar'));
        console.log(foo.hasOwnProperty('goo'));
        ![结果](http://img.blog.youkuaiyun.com/20160424180709167)

原型链就是通过一个对象实例指向另一个构造函数的原型来实现的,这也是一种常用的继承方法。查找属性首先从实例本身查找,然后在原型链上查找。同名属性情况下,自身属性会覆盖链上其他的同名属性,当删除了自身的属性时,才会显示链上的属性。通过hasOwnProperty() 方法可以判断一个属性是否是该对象自身上的属性。


6 基本数据类型
number,string, boolean, null, undefined, obeject, array, function.
array和function是特殊的对象类型


7 typeof
使用typeof 判断数据类型 可得到的结果有:
number, string, boolean, undefined, obeject, function, typeof(null)得到的结果为 object。


8 toString
原始的Object对象 toString 方法得到的结果是[object 数据类型],可以通过这种方法获取数据的实际类型。面试的时候遇到这样一道题:

 输出:abc+[1,2,3]

结果应该是 abc1,2,3
这是因为Array的toString 方法覆盖了原生的方法,数组类的toString()方法将每个元素转化为字符串,并在元素之间添加逗号合并成结果字符串。function类的toString()方法返回这个函数的实现定义的表示方式。日期类返回了一个可读的日期和时间字符串。(–出自大犀牛)。这些小坑要注意。


9 es6
10 react

【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值