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

一面:1h2020-05-08【考察内容】​我们主要考察通用型的业务问题和过往的项目经历​价值观和软性技能也是我们选择人才的重要因素​​专业知识自我介绍?balabala项目介绍中的crush or debug?没有准备过,说了一些服务器的调试;然后讲了在项目中没有遇到过crush,但在C++刷算法题中遇到过内存泄露(引入自己熟悉的C++领域)内存泄露的原因?指针使用后没有释放其在内存中占用的地址C++11的新特性是否了解?智能指针,它就可以很好地解决内存泄露的问题智能指针都
摘要由CSDN通过智能技术生成

一面:1h

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

专业知识

  • 自我介绍?
    balabala
  • 项目介绍中的crush or debug?
    没有准备过,说了一些服务器的调试;然后讲了在项目中没有遇到过crush,但在C++刷算法题中遇到过内存泄露(引入自己熟悉的C++领域)
  • 内存泄露的原因?
    指针使用后没有释放其在内存中占用的地址
  • C++11的新特性是否了解?
    智能指针,它就可以很好地解决内存泄露的问题
  • 智能指针都有哪些?
    shared_ptr, unique_ptr, weak_ptr
  • 智能指针如何释放内存的?
    应该是调用析构函数的
  • 那智能指针是如何知道何时该释放内存的?
    自己也不是很清楚,随口说是根据生命周期判断
  • 那如果一个对象中有智能指针,另一个对象一直在持有该对象,则当前的智能指针一直都在生命周期内,应该如何知道何时释放内存?
    我想了好久,回答是不是根据一个内部的计时器判断(面试官说:很接近了,是一个状态)
    然后又根据状态的提示,想到是不是跟进程的挂起?执行?这些状态有关???
    (其实面试官是想问如何实现智能指针何时释放内存,面试官说设置一个状态变量,被持有时做标记,不被持有时取消标记即可,自己一直理解的是智能指针释放内存的原理是什么)
  • sizeof与strlen的区别
    我回答的是sizeof得到的是开辟的空间大小,strlen是获得从首地址到’\0’的长度;sizeof求数组长度需要除上基本类型所占的字节数(其实sizeof是个运算符,strlen是个函数;前者返回对象类型在内存中占的字节数,后者返回字符串长度)
  • 传指针和传引用的区别
    指针会有一块独自的地址,引用只是变量的别名,和原始变量共用一块地址
    指针大小是4字节,引用的大小和原始变量大小一致
    指针可以使用多级指针,引用只能一级
  • 形参只是个基础变量,会是什么情况
    只是个值传递,子函数里只不过是又申请了一块地址存放变量,外面无法获取到,也不能修改外面的值
  • 熟悉的进程通信的方式有哪些
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值