字节跳动-客户端开发工程师-产品研发和工程架构部职位的面试(二面)

一面:45min

2020-05-11
【考察内容】​
我们主要考察通用型的业务问题和过往的项目经历​
价值观和软性技能也是我们选择人才的重要因素​

  • 自我介绍
    balabala
    聊天,问一些个人情况
  • 由于项目中涉及工厂模式,被问到用的的简单工厂还是抽象工厂

专业知识

  • C++多态
    介绍了一下虚函数及其原理虚表虚指针
  • 除了虚函数还有哪些多态的应用
    纯虚函数
  • 什么是纯虚函数
    回答的是函数返回值为0,在虚表中为0
  • 为什么要用纯虚函数
    这个没有回答上来,平时确实没怎么过,也没有注意
    (虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数;纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加"=0")
  • 什么时候要用多态,比如现在有一个项目功能,什么样的功能会采用多态
    回答的是当执行功能的对象不完全相同但功能相似时,会采用多态

OS

  • 内核态和用户态介绍一下
    os是自己的硬伤,掌握的不是很好。
    用户态和内核态的理解和区别
    内核态与用户态的区别
  • 讲一下线程
    线程是对进程进一步细分,线程更加轻量;线程是调动的基本单位,不是资源分配的基本单位,资源分配的基本单位还是进程(面试官提醒:线程和进程共用进程的资源)
  • 线程的轻量体现在哪
    空间上和调用线程CPU的消耗上
  • 多线程会共用进程的哪一部分资源
    内存
  • 虚拟存储器和物理存储器的区别
    虚拟存储器是对物理存储器的扩充,通过页面置换技术,将虚拟内存上的进程调入内存】
    虚拟内存与物理内存的区别
    关于虚拟存储器、虚拟内存和交换空间的理解
  • 为什么需要虚拟存储器
    提高进程的访问,调度效率

网络

  • https与http的区别
    http是明文传输,https对数据进行了加密
  • https安全性体现在哪里,连接上的加密还是内容上的加密
    *采用的是对称加密还是非对称加密

HTTPS加密详解

其他

  • 平时有没有做过一些小的程序比如爬虫之类的
  • 学习获取知识的途径有哪些,讲一下心得

你可能感兴趣的:(面试)