秋招3:包子科技一面——2020.8.27
这是个实习岗。
hr小姐姐给我带到他们的休息区,给了我一杯水,让我等一下面试官。我看了一下休息区有饮水机、咖啡机、微波炉啥的,工作氛围也挺好的。
问题:
1、SQL语句:增删改查
-
增
(1)全列插入:
-
insert into 表名 values(…);
-
主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功以后以实际数据为准。
-
insert into student values(0, "tom",19, 1, "北京", 0);
(2)缺省插入:
-
insert into 表名(列1, 列2…) value(值1, 值2…)
-
insert into student(name, age, address) value("tom2", 19, "上海");
(3)同时插入多条数据:
-
Insert into 表名 values(…), (), …
-
Insert into student values(0, "tom3",19, 1, "北京", 0), (0, "tom4",19, 1, "北京", 0), …
-
-
删
-
Delete from 表名 where 条件;
-
Delete from student where id=4;
-
如果没有条件是全部删除
-
-
改
-
Update 表名 set 列1= 值1, 列2= 值2,….
-
Update student set age=16 where id=1;(如果不写条件where则整个列全部修改)
-
-
查
(1)查询表中全部数据:
-
Select * from 表名;
-
2、一个列表里有十行,让它的前三行加粗
-
<style>
ul :nth-of-type(-n+3){
font-weight: bold;
}
</style>
<ul>
<li>行1</li>
<li>行2</li>
<li>行3</li>
<li>行4</li>
<li>行5</li>
<li>行6</li>
<li>行7</li>
<li>行8</li>
<li>行9</li>
<li>行10</li>
</ul>
</body>
3、水平、垂直居中方法
-
不知道子元素的宽度和高度
-
容器display:flex; justify-content:center; align-items:center;
-
-
知道子元素的宽度和高度
-
容器position:relative; 子元素position:absolute; top:50%; left:50%; transform: translate(-50%, -50%);
-
4、闭包的作用
-
https://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
-
闭包就是能够读取其他函数内部变量的函数;一个函数内部的函数
-
用处
-
可以读取函数内部的变量
-
让这些变量的值始终保持在内存中。
-
封装私有变量
-
5、实现:flex里的div横向排列,每个中间有10px的间隙
-
<style>
.wrap {
display: flex;
}
.content {
border: 2px solid red;
margin-right: 10px;
flex: 1;
}
</style>
<div class="wrap">
<div class="content">内容1</div>
<div class="content">内容2</div>
<div class="content">内容3</div>
<div class="content">内容4</div>
</div>
6、flex容器有哪些属性
-
父容器上的属性
-
设置主轴的方向:flex-direction
-
row: 默认值,主轴为水平方向从左到右;
-
row-reverse: 主轴为水平方向从右到左;
-
column: 主轴为垂直方向从上到下;
-
column-reverse: 主轴为垂直方向从下到上
-
-
设置子容器沿主轴排列:justify-content
-
位置排列:
-
flex-start:起始端对齐
-
flex-end:末尾段对齐
-
center:居中对齐
-
-
分布排列:
-
space-around:子容器沿主轴均匀分布,位于首尾两端的子容器到父容器的距离是子容器间距的一半。
-
space-between:子容器沿主轴均匀分布,位于首尾两端的子容器与父容器相切。
-
-
-
设置子容器如何沿交叉轴排列:align-items
-
位置排列:
-
flex-start:起始端对齐
-
flex-end:末尾段对齐
-
center:居中对齐
-
-
基线排列:
-
baseline:基线对齐,这里的
baseline
默认是指首行文字,即first baseline
,所有子容器向基线对齐,交叉轴起点到元素基线距离最大的子容器将会与交叉轴起始端相切以确定基线。
-
-
拉伸排列:
-
stretch:子容器沿交叉轴方向的尺寸拉伸至与父容器一致。
-
-
-
设置换行方式:flex-wrap
-
nowrap:不换行
-
wrap:换行
-
wrap-reverse:逆序换行,沿着交叉轴的反方向换行
-
-
轴向与换行组合设置:flex-flow
-
flow 即流向,也就是子容器沿着哪个方向流动,流动到终点是否允许换行,比如
flex-flow: row wrap
,flex-flow
是一个复合属性,相当于 flex-direction 与 flex-wrap 的组合,可选的取值如下:-
row
、column
等,可单独设置主轴方向 -
wrap
、nowrap
等,可单独设置换行方式 -
row nowrap
、column wrap
等,也可两者同时设置
-
-
-
多行沿交叉轴对齐:align-content
-
当子容器多行排列时,设置行与行之间的对齐方式。
-
位置排列:
-
flex-start:起始端对齐
-
flex-end:末尾段对齐
-
center:居中对齐
-
-
分布排列:
-
space-around:等边距均匀分布
-
space-between:等间距均匀分布
-
-
拉伸排列:
-
stretch:拉伸对齐
-
-
-
-
子容器上的属性
-
在主轴上如何伸缩:flex
-
flex
的值可以是无单位数字(如:1, 2, 3),也可以是有单位数字(如:15px,30px,60px),还可以是none
关键字。子容器会按照flex
定义的尺寸比例自动伸缩,如果取值为none
则不伸缩。 虽然flex
是多个属性的缩写,允许 1 - 3 个值连用,是flex-grow,flex-shrink,flex-basis的缩写,但通常用 1 个值就可以满足需求。
-
-
单独设置子容器如何沿交叉轴排列:align-self
-
位置排列:
-
flex-start:起始端对齐
-
flex-end:末尾段对齐
-
center:居中对齐
-
-
基线排列:
-
baseline:基线对齐
-
-
拉伸排列:
-
stretch:拉伸对齐
-
-
-
设置基准大小:flex-basis
-
flex-basis
表示在不伸缩的情况下子容器的原始尺寸。主轴为横向时代表宽度,主轴为纵向时代表高度。
-
-
设置扩展比例:flex-grow
-
子容器弹性伸展的比例。如图,剩余空间按 1:2 的比例分配给子容器。
-
-
设置收缩比例:flex-shrink
-
子容器弹性收缩的比例。如图,超出的部分按 1:2 的比例从给子容器中减去。
-
-
设置排列顺序:order
-
-
7、实现:func(n),实现输出0,2,4,6,8...2n这样的输出
-
let n = 10
function func(n) {
for (let i = 0; i <= n; i++) {
console.log(2 * i)
}
}
func(n)
通过自我介绍之后面试官了解了我读研的经历,感到挺可惜的,耽误了不少事儿。以现在这个情况找工作是真的不好找。如果可以来的话,肯定要带我,前提是他有时间和精力。他需要考虑一下,没问题的话,流程会继续进行的。
晚上六点多的时候接到了进入了二面的电话,二面是技术总监面。第二天下午三点来公司。