百度一面(电话面试)总结
来源:互联网 发布:ps合成图片软件 编辑:程序博客网 时间:2024/05/16 19:01
直接切入主题,基础知识方面
1. CSS选择器都有哪些,样式优先级
我:“ID ,类 ,父级,属性,
Important>标签内部>ID>类>层级>父子>标签>通用*”
Answer:
链接:https://www.nowcoder.com/questionTerminal/6741be00dde94b7d8708aebcdc59a787
来源:牛客网
标签名选择器 div { color:Red;} /即页面中的各个标签名的css样式
2.类选择器 .divClass {color:Red;} /即定义的每个标签的class 中的css样式
3.ID选择器 #myDiv {color:Red;} /即页面中的标签的id
4.后代选择器(类选择器的后代选择器) .divClass span { color:Red;} /即多个选择器以逗号的格式分隔 命名找到准确的标签
5.群组选择器 div,span,img {color:Red} /即具有相同样式的标签分组显示
选择器的优先级 1.最高优先级是 (直接在标签中的设置样式,假设级别为1000)
2.次优先级是(ID选择器 ,假设级别为100) #myDiv{color:Red;}
3.其次优先级是(类选择器,假设级别为10) .divClass{color:Red;}
4.最后优先级是 (标签选择器,假设级别是 1) div{color:Red;}
5.那么后代选择器的优先级就可以计算了啊
比如 .divClass span { color:Red;} 优先级别就是:10+1=11- 实现两栏布局,左边宽度300,右边根据页面自适应
我:
“左边DIV固定,设置宽度300,右边自适应。。。我用FLEX布局?。。。给右边一个Margin-left:300。。”
“你不是用FLEX么。?你要不用也行,都行,你说说”
“…..” - 说一下盒模型
我:
“分IE盒子和W3C盒子,IE盒子包含宽高包含Padding和border”
“你就说一下有几层?最里面是啥,最外面是啥”
“最里面就是内容,content一个框,外面是padding内边距一个框,在外面是border框,然后最外面是margin框” - 比如我有一个列表,里边内容全部margin-bottom:10,列表外面容器设margin-bottom:20,里边最后一个和外面容器相距多远?
我:
“10,两个bottom会合并一个取最小值,哎?取最大值,记不得了”
“那你有什么办法让它变成30吗?”
“让里面的变成块显示,inline-block。。。。” - 那你说一下有几种显示元素的方式
我:
“static默认的,block块状元素,inline-block行内块状元素,none隐藏,flex算吗”
*“啥”
“继续说,inline和inline-block他俩和block有啥区别”*
“block脱离文档流,直接显示在浏览器,但是inline-block还在文档里,但是可以在行内显示,可以设置宽高”
“那inline呢”+1
“…又重复一遍inline-block。。。//没听清”
“那inline呢”+2
“咦?这不就是inline吗”
“你不说inline-block吗”
“哦,inline啊。。。。咳咳。。。哎呀我不太记得了” - 那你说说常见的元素有那种是blcok那种是inline?
我:
“能并排显示的就是行内的,比如span,input,不能并排的就是块状的,比如p,ul列表” - JS哪几种数据类型
我:
“数字,字符串,undefined,null,。。uh。。还有一个。。。噢噢 。。boolean”
“null和undefined有啥区别”
“undefined就是定义了一个变量但是没有赋值,输出它就是undefined;null就是一个空对象的意思,就是用typeof null他会返回object类型,null转化为数字是0,是空对象” - JS里原型链
我:
“原型链就是函数首先有原型,刚开始写的方法,。。如果要继承函数这个方法,如果要用这个函数的方法或者修改就要用原型链。通过把写好的函数和需要用的新函数去来回之间的传递,链接起来” - 身边有电脑吗?打开百度首页,搜索框下面有新闻吗?“没有”,那你随便输个东西,搜索框下面有网页,贴吧,知道等,像这种TAB实现你会怎么做
我:
“首先用一个- 把这些写到
- 里,给他设置向左浮动,设置宽高,再调一下CSS。。它应该可以写成固定的组件把。。嗯嗯 可以”
- 你在搜索框随便打点字,看到下面有一些提示窗口,这个东西你怎么做
我:
“就通过AJAX首先把输入的input.value发给服务器,从服务器里去模糊查询,关键字匹配,返回这些结果,用JSON格式传回给前台显示在框里” - 介绍项目数据库设计。。后端我没参与。。那你学过数据库吗?平时用过吗?
我: “上课的时候练习过,基本的增删改查会用”
“建个表,建个库啥的都知道把”
“嗯嗯,都知道,用Navicat 可视化工具挺方便的” 比如说你想建一个新闻系统,有好多新闻,相关的东西,建哪些表?做新闻网站,什么功能,建什么表
我:
“思考两分钟。。首先新闻从最里层说,标题,时间,作者,内容”
“你可以说建立一个A表,里面有什么字段”
“建一个新闻内容表,字段有标题字段,时间字段,作者字段,内容字段 ,有主键吗。。。”
“什么类型存放的”
“标题用char,正文也是char,日期用Date,作者用string还是char。。忘了。在往上一层就是新闻显示在页面的那一层,就是每个新闻有一个独立的ID,新闻列表的表,字段有这个新闻的ID值,独立的ID,应该有一个关联,比如说体育,有关联的把。然后就是这层表建一些有关联的频道的字段,再往上写建一个频道类型,给他分类把每种类型新闻独立放在数据库里,再把内容和第二层的关联起来,。。这应该差不多就是完整的了把,啊不是,就是大概的了把”比如说项目特别慢,怎么解决
我:
“理解错误,我会使劲尽快做”
“不是不是,是用户打开的时候太慢了,怎么办”
“哦 性能优化呀,把那些图片首先可以用GIF格式,色彩用的少,减少图片大小,减少HTTP请求,图片用雪碧图做,把JS,CSS压缩起来,把项目放到CDN托管,把LINK放在头部,script放在尾部”
“你这一步做是为了解决什么问题”
“防止那个JS阻塞整个文件的DOM下载,如果在前面下载JS,整个页面就停在那个地方,半天加载不出来,页面空白,放在下面的话你可以下载CSS的同时把DOM树渲染出来,等整个页面都呈现出来再去下载JS”- 那你说一下快排序怎么做
我:
“选中间那个数作为基准,把比他小的放左边,比他大的放右边,完了以后第一次就排出这边比他小那边比他大的数组,再从小的里面选中间元素,在排序,一直这样递归,就排出来了” - 那你说一下二叉树的遍历方式
我:
“前序遍历,中序遍历,后序遍历”
“后序遍历怎么遍历”
“后序遍历就是先去找二叉树的左节点,在找右结点,最后找根节点” - 比如说用户打开一个网址到看到这个页面经历了什么
我:
“在浏览器输入URL后,首先DNS服务器解析成IP地址,发起HTTP会话,通过TCP输入到网络层,客户端把报文包括源端口目的端口,这一层就是TCP协议的工作过程嘛,运输层,第三部就是查找路由表,他去找路由表下一个下一个,一直到服务器,这是IP协议的工作过程,然后ARP协议把IP地址转成MAC地址,建立连接,把它请求的资源发给浏览器,浏览去去渲染DOM树,渲染CSS,用户就看到了这个界面”
“嗯,可以’ - 你觉得前端工程师是一份什么样的工作
”我觉得它是离客户最近的开发,就是你写出来啥客户就能看见啥,他就是一个所见即所得,客户需求要求什么样,你就呈现什么样的样式。嗯,我当初选择前端工程师就选了软件工程学了ACM,后端,就是比较有成就感,敲一些东西就能呈现出来,后来就一直学习把,然后。。没有然后了。。“
“你们班做这个的多嘛?”
“挺多的,我们这边没有开专门的前端课,大家都是自己找自己感兴趣的方向,每年都有挺多这个方向的”
“一般都是这时候找实习什么的。”
“对,大三下开始找实习,暑期去实习,一直到大四回来吧论文写了,然后就毕业了。”
“行” - 我没有什么问题了,你有什么问题嘛?
我:“咱们这个,我如果去实习在这里面做些什么,我需要学习什么”
巴拉巴拉巴拉~~~~EFE
- 实现两栏布局,左边宽度300,右边根据页面自适应
总结:
基础很重要,学习过程要注重细节,更要注重广度,不能一味求成,我会继续努力的哈哈哈~~拂面哭泣中。。
- 百度一面(电话面试)总结
- 阿里一面(电话面试)
- 百度电话面试总结
- java开发网易电话面试 一面总结
- java开发网易电话面试 一面总结
- 谨纪念第一次面试,电话面试,百度一面。。
- 百度电话一面
- 百度云电话一面
- 网易内推电话面试(一面)
- 涂鸦电话面试一面
- 阿里电话一面总结
- 百度LBS部门电话一面
- 百度面试 一面
- 百度百科面试一面
- 阿里巴巴JAVA电话面试-一面
- 百度大数据实习生电话面试总结
- 网易游戏-平台开发工程师-一面(电话面试)
- 百度质量部测试开发实习生面试总结(技术一面)
- 根据模板的AM数据信息提取插件设计
- 不良资产处置,正在爆发的10万亿蓝海市场
- 【北邮OJ】277. 内存分配-网研14-计算机二14
- LeetCode:Reverse Integer
- The case for the reduced Instruction Set computer读后感
- 百度一面(电话面试)总结
- Linux—20条命令(二)
- 大数据实时处理实战
- Java前期(静态)绑定和后期(动态)绑定
- UltralEdit替换回车/换行符
- 求两个正整数的最大公约数
- Tomcat源码学习-1-初始化
- [C语言][编程]将字符串分割到字符串数组中
- python装饰器