百度一二面 (4.11 一小时+半小时)
一面:60分钟 很温柔的小姐姐,记得的题目有点少
1.说说Doctype
严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。
混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。
https://www.cnblogs.com/wuqiutong/p/5986191.html
2.BFC
3.垂直居中
4.给一个字符串,全是由字母组成,找出字符串中第一个只出现一次的字符
#include <bits/stdc++.h> using namespace std; int main() { string str="abcdabc"; //在字符串中查找出第一个只出现一次的字符 //o(n) 空间换时间 int a[300]; memset(a,0,sizeof(a)); //第一次遍历 统计各字符出现次数 for(int i=0;i<str.length();i++) { a[str[i]]++; } //第二次遍历 辅助数组做哈希映射 int pos=-1; for(int i=0;i<str.length();i++) { if(a[str[i]]==1) { pos=i; break; } } cout<<pos<<endl; return 0; }
5.if(a == 1 && a == 2 && a == 3)为true 有什么方法?
var a = { num:1, toString:function() { return a.num++; } }
6.获取url中的参数,用对象返回。 比如:http:www.baidu.com?a=1&b=2&c=2
返回 {a:1,b:2,c:3}
二面:35分钟
1、行内元素/块状元素
2、css隐藏元素的方式和区别?
3、前端存储数据的方式及区别?
4、cookie中的Samesite字段用途?
http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html
5、写一个cookie的读写方法?
cookie('token') // =》 token cookie('token', 1) cookie('token', 1, '.baidu.com')
cookie => key value domain
6、输出结果是什么?
const a = {}, c = {key: 2} a[b] = 'b' a[c] = 'c' console.log(a[b]);
如果让一个对象的键值为 对象?
const d? => { {key: 1}: 1 };
Map WeakMap 了解吗?
7.说输出结果
const a = { b: 1, value() { return this.b; } } const c = { b: 2 } console.log(a.value()); // 1 console.log(a.value.call(c)); // 2
8、看代码说输出结果
function Foo() { Foo.a = function() { console.log(1) } this.a = function() { console.log(2) } } Foo.prototype.a = function() { console.log(3) } Foo.a = function() { console.log(4) } Foo.a(); let obj = new Foo(); obj.a(); Foo.a();
输出:4 2 1
解析:
1.Foo.a() 这个是调用 Foo 函数的静态方法 a,虽然 Foo 中有优先级更高的属性方法 a,但 Foo 此时没有被调用,所以此时输出 Foo 的静态方法 a 的结果:4
请在这里输入引用内容
2.let obj = new Foo(); 使用了 new 方法调用了函数,返回了函数实例对象,此时 Foo 函数内部的属性方法初始化,原型链建立。
请在这里输入引用内容
3.obj.a() ; 调用 obj 实例上的方法 a,该实例上目前有两个 a 方法:一个是内部属性方法,另一个是原型上的方法。当这两者都存在时,首先查找 ownProperty ,如果没有才去原型链上找,所以调用实例上的 a 输出:2
请在这里输入引用内容
4.Foo.a() ; 根据第2步可知 Foo 函数内部的属性方法已初始化,覆盖了同名的静态方法,所以输出:1
9、假设一个链接中的参数中有另一个URL, 怎么样能使得正常解析?
比如:xxx.com?url=(www.baidu.com?a=1&b=2)&a=test
面试官说要用encode,xxx.com?url=encode(www.baidu.com?a=1&b=2)&a=test
10、MVC / MVVM /MVP 这三种模式的理解?
11、用css向右的三角形。
#百度##前端工程师##面经#