字节跳动面试(第三次面试)总结1:

面试总结:
非计算机专业,没有项目经验,重点考察理论/逻辑基础:大体了解,但细节和关键点知识有所欠缺(3分一下是没回答好的)
3- 前端:了解一些基础知识,但是实践缺乏
3- 性格:主动性好,善于表现自己
3 逻辑思维/代码:一般,遇到困难的地方容易表现混乱
3- 整体评价:主动好学,有一定自学成果,但缺乏实践机会,逻辑和代码表现一般,建议二面考察下可培养价值
3 1. 基础 - 连接过程,握手 –
3 - 报文格式,常见 Header – 不太清楚
http常见的报文格式:

// 请求报文是由请求方法,请求URI,协议版本,可选的请求首部字、段,和内容实体组成。
// 请求报文的构成:
// POST /form/entry  HTTP/1.1=>协议版本
// 请求首部字段:Host: hackr.jp
// connection: keep-·alive
// content-type: application/x-www-form-urlencoded
// content-Length
// 内容实体: name=ueno&age=37


// 响应报文的组成:
// 协议版本 状态码 状态码的原因短语
// HTTP/1.1 200 OK
// 响应首部字段
// Date: Tue,****** GMT
// Content-Length: 362;
// Content-Type: text/html 

// 响应主体:
// <html>

告知服务器意图的HTTP方法:
GET方法:获取资源
POST:传输实体主体;
PUT:传输文件
HEAD:获得报文首部
DELETE: 删除文件
OPTIONS: 询问支持的方法。
TRACE: 追踪路径。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.5 - 缓存原理 –
3 2. JS - 封装队列,栈操作 – 思路有点混乱,经几次提醒才答出 2.5 - 重排和重绘,优化 – 基本理解
3 - eventloop,微任务/宏任务 – 基本了解 3 3. Vue - 双向绑定原理 – 基本了解,了解过 vue3 3+
4. CSS - 计量单位,物理像素

// CSS计量单位
/*
我们可以这样来设置1em,0.5em,1.5em等,而且“em”还可以指定到小数点后三位,比如“1.365em”。而其中“相对”的意思是:

1.相对的计算必然会一个参考物,那么这里相对所指的是相对于元素父元素的font-size。比如说:如果在一个<div>设置字体大小为“16px”,此时这个<div>的后代元素教程了是将继承他的字体大小,除非重新在其后代元素中进行过显示的设置。此时,如果你将其子元素的字体大小设置为“0.75em”,那么其字体大小计算出来后就相当于“0.75 X 16px = 12px”;*/
// 参看下面的链接:

https://blog.csdn.net/javaloveiphone/article/details/51120476?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

  1. – 了解较少 2.5
    1. 代码 - 两个数据查找相同元素 – 实现很快,能优化
  2. 3 - 两个字符串查找最长重复子串 – 未能实现 2.5
 public static int getLCS(String s1, String s2) {
        char[] ch1 = s1.toCharArray();
        char[] ch2 = s2.toCharArray();
        int[][] dp = new int[ch1.length+1][ch2.length+1];

        //int max = 0;
        //int right = 0;
        for(int i = 1; i <=ch1.length; i++){
            for(int j = 1; j<= ch2.length; j++){
                if(ch1[i-1] == ch2[j-1]){
                    dp[i][j] = dp[i-1][j-1] + 1;
                } else {
                    dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]);
                }
            }
        }

        return dp[ch1.length][ch2.length];
    }

//        for(int i = 1; i<= ch1.length; i++){
//            for(int j = 1; j<= ch2.length; j++){
//                if(ch1[i-1] == ch2[j-1]){
//                    dp[i][j] = dp[i-1][j-1] + 1;
//                    if(dp[i][j] > max) {
//                        max = dp[i][j];
//                        right = i;
//                    }
//                } else {
//                    dp[i][j] = 0;
//                }
//            }
//        }
//
//        System.out.println(max);
//        System.out.println(right);
//
//        System.out.println(s1.substring(0,0));
//
//        return s1.substring(right-max,right);
//    }

css像素补充:
1、px:相对长度单位。像素px是相对于显示器屏幕分辨率而言的。

2、em:相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
看下面例子:
HTML:

body
div1
div2
div3

CSS:

div{
font-size:1.5em;
}

计算关系是这样的:

body的font-size是继承自跟元素html,html的尺寸是浏览器默认尺寸14px;
div1的font-size=1.514px = 21px;
div2的font-size=1.5
21px = 31.5px;
div3的font-size=1.531.5px = 47.25px;
如果手动设置div2的font-size为40px,div3的font-size应该为1.5
40px = 60px。

3、rem:相对长度单位。r’是“root”的缩写,相对于根元素的字体大小。

例如还是上面的html代码,添加如下样式:

.div3{
font-size:1.5rem;
}

这里写图片描述

此时div3的font-size = 1.514px = 1.5html的font-size

4、vh and vw:相对于视口的高度和宽度,而不是父元素的(CSS百分比是相对于包含它的最近的父元素的高度和宽度)。

1vh 等于1/100的视口高度,1vw 等于1/100的视口宽度。

比如:浏览器高度900px,宽度为750px, 1 vh = 900px/100 = 9 px,1vw = 750px/100 = 7.5 px。

很容易实现与同屏幕等高的框:.slide { height: 100vh;}
设置一个和屏幕同宽的标题,h1{font-size:100vw},那标题的字体大小就会自动根据浏览器的宽度进行缩放,以达到字体和viewport大小同步的效果。

5、vmin and vmax:关于视口高度和宽度两者的最小值或者最大值。

比如,浏览器的宽度设置为1200px,高度设置为800px, 1vmax = 1200/100px = 12px, 1vmin = 800/100px = 8px。如果宽度设置为600px,高度设置为1080px, 1vmin就等于6px, 1vmax则未10.8px。

有一个元素,你需要让它始终在屏幕上可见:

.box {
height: 100vmin;
width: 100vmin;
}

如果你要让这个元素始终铺满整个视口的可见区域:

.box {
height: 100vmax;
width: 100vmax;
}

参考:http://j.news.163.com/docs/99/2014111814/ABBB78BG00964KGG.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值