百度一面(电话面试)总结

直接切入主题,基础知识方面
1. CSS选择器都有哪些,样式优先级
我:“ID ,类 ,父级,属性,
Important>标签内部>ID>类>层级>父子>标签>通用*”


Answer:
链接:https://www.nowcoder.com/questionTerminal/6741be00dde94b7d8708aebcdc59a787
来源:牛客网

  1. 标签名选择器 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

    1. 实现两栏布局,左边宽度300,右边根据页面自适应
      我:
      “左边DIV固定,设置宽度300,右边自适应。。。我用FLEX布局?。。。给右边一个Margin-left:300。。”
      “你不是用FLEX么。?你要不用也行,都行,你说说”
      “…..”
    2. 说一下盒模型
      我:
      “分IE盒子和W3C盒子,IE盒子包含宽高包含Padding和border”
      “你就说一下有几层?最里面是啥,最外面是啥”
      “最里面就是内容,content一个框,外面是padding内边距一个框,在外面是border框,然后最外面是margin框”
    3. 比如我有一个列表,里边内容全部margin-bottom:10,列表外面容器设margin-bottom:20,里边最后一个和外面容器相距多远?
      我:
      “10,两个bottom会合并一个取最小值,哎?取最大值,记不得了”
      “那你有什么办法让它变成30吗?”
      “让里面的变成块显示,inline-block。。。。”
    4. 那你说一下有几种显示元素的方式
      我:
      “static默认的,block块状元素,inline-block行内块状元素,none隐藏,flex算吗”
      *“啥”
      “继续说,inline和inline-block他俩和block有啥区别”*
      “block脱离文档流,直接显示在浏览器,但是inline-block还在文档里,但是可以在行内显示,可以设置宽高”
      “那inline呢”+1
      “…又重复一遍inline-block。。。//没听清”
      “那inline呢”+2
      “咦?这不就是inline吗”
      “你不说inline-block吗”
      “哦,inline啊。。。。咳咳。。。哎呀我不太记得了”
    5. 那你说说常见的元素有那种是blcok那种是inline?
      我:
      “能并排显示的就是行内的,比如span,input,不能并排的就是块状的,比如p,ul列表”
    6. JS哪几种数据类型
      我:
      “数字,字符串,undefined,null,。。uh。。还有一个。。。噢噢 。。boolean”
      “null和undefined有啥区别”
      “undefined就是定义了一个变量但是没有赋值,输出它就是undefined;null就是一个空对象的意思,就是用typeof null他会返回object类型,null转化为数字是0,是空对象”
    7. JS里原型链
      我:
      “原型链就是函数首先有原型,刚开始写的方法,。。如果要继承函数这个方法,如果要用这个函数的方法或者修改就要用原型链。通过把写好的函数和需要用的新函数去来回之间的传递,链接起来”
    8. 身边有电脑吗?打开百度首页,搜索框下面有新闻吗?“没有”,那你随便输个东西,搜索框下面有网页,贴吧,知道等,像这种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

总结:
基础很重要,学习过程要注重细节,更要注重广度,不能一味求成,我会继续努力的哈哈哈~~拂面哭泣中。。

你可能感兴趣的:(百度一面(电话面试)总结)