腾讯-日常实习-一面
2022-05-05 am10:30 音频设备问题 - 11:00
2022-05-05 pm16:00 - 17:00
布局
实现一个上下固定 中间内容高度自适应的布局
中间自适应布局,上午没写出来,面试结束后,赶紧去百度,找到了绝对定位的方法,下午面试,没想到面试官让我继续这道题,说是上午中间不是自适应的,你后来改过吗?然后向他说明了情况。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> html,body{ height: 100%; margin: 0px; padding: 0px; } header{ width:100%; height: 100px; background: blueviolet; } .main { display: flex; width: 100%; position: absolute; top: 100px; bottom: 100px; } .main content{ flex-grow: 1; background: palevioletred; } .main .sider{ width: 100px; background: palegreen; } footer{ width: 100%; height: 100px; background: red; position: absolute; bottom: 0px; } </style> </head> <body> <div class="outer"> <header>header</header> <div class="main"> <content>content</content> <aside class="sider">sider</aside> </div> <footer>footer</footer> </div> </body> </html>
之后根据我写的进行提问
除了固定写法,有无其它写法
13行为何要加width:100%
为了设置宽度
不加13行是什么效果?
答:它的宽度是被header这个内容撑开的,(其实我答错了,块级元素宽度会继承父元素宽度)
块级元素和行内元素
按照上述问题接着提问:
header是块级元素?
答:不是吧,(其实我不确定了)
那不是块级元素的话,是行内元素?
答:是的吧(我不确定)
那行内元素你设置100%的宽度有用吗?
答:没用吧(发现自相矛盾了)
那它是行内元素吗?
答:不是吧(笑死,绕回来了)
块级元素和行内元素的特点?
行内元素不能设置垂直方向上的属性?border垂直方向会设置吗?
flex布局
25行的flex-grow具体是什么意思?
答:占据flex布局剩余部分的比例
什么是剩余部分?
答:已经被明确定义了宽高的元素
margin、padding等算吗?
答:算的(呃呃)
那为什么刚刚没有回答?
答:我忘记了,平常都是习惯性将宽度当作包含了margin、padding
盒模型
- 普通盒模型
- 怪异盒模型
问:说说盒模型里面自内向外分别是哪些?
内心os:这个我会(🤦)
问:在你刚说的4个维度上来说明块级元素和行内元素的区别
答:行内元素在垂直维度上的padding、margin设置不生效
问:垂直的border呢?
答:行内元素垂直border不生效(我说错了,border都会生效)
js获取元素宽高的方法
这个我记不太清了,就说了先getelement获取元素,再通过以height和width结尾的两个方法获取
var elem = document.getElementsByClassName('header') var elemh = elem.clientHeight var elemw = elem.clientWidth console.log('高度:',elemh) console.log('宽度:',elemw)
返回任何一个元素的高度包括边框(border)和内边距(padding),但不包含外边距(margin)
返回整个元素的高度(包括带滚动条的隐蔽的地方)
在页面上返回内容的可视高度(高度包含内边距(padding),不包含边框(border),外边距(margin)和滚动条)
代码题
已经排序好的数组去重,要求不能使用额外空间
/** * @param {number[]} nums * @return {number} */ var removeDuplicates = function(nums) { for(i=0;i<nums.length-1;i++){ if(nums[i]==nums[i+1]){ nums.splice(i,1) i-- } } };
节流函数,第一次跟最后一次必会执行
大体思路写出来了,但是没有考虑后面两个条件
提问环节
如何学好开发技术
我的收获:
基础还是不牢固,有的问题回答完之后我不确定 ,也是因为这个东西我看过,但是没有深刻理解,和实际动手练习,最终绕道了错误答案,就像上次面试一样,不确定的回答,然后面试官就看出来你这一块学的不扎实了。
关于面试官:
自己感觉会比较深挖,从一个题目延伸问很多,就像第一个布局,根据我写的方案以及我的回答进行提问,其中涉及到了盒模型、flex布局、行内元素和块级元素
面试体验:
音频设备问题导致拖延了好多时间,我当时真的脚趾要抠出三室一厅了,在这里深深地向我的面试官说一声对不起😣如果您有幸可以看到的话
一些小感想
最近一直在焦虑实习,感觉大家都能找到,我找不到就是我很菜,也确实,目前的水平,在面试时回答问题确实会有些不确定,这种状态进大厂还是挺难。
下午总结完面试的东西,突然蹦出一个小想法,其实每个人(我)都有自己的发光点,也有自己的黑暗点,这两者之间不断的平衡造就了现在的我,这些发光点我总觉得是与生俱来的,所以忽略了他们。所以得自信点,从容不迫的散发自己的光芒,要记得人应该是快乐的,不然还有什么意义呢?
最近也发现了一本好书,《当下的力量》,其中有说到,人的伤感、迷茫或者焦虑都是来自过去或者未来的 ,所以我们总是忽略了当下 ,过分关注了不在当下的时刻。
加油吧,就是说咱虽然技术学的不够好,但是咱们懂得总结、复盘,在成长就好了。