• 2017 阿里巴巴 C++后台开发一面 3.14


    下午4点接到一个杭州打过来的电话,阿里巴巴一面。持续时间半个小时。

    面试官是阿里云KVStore组。

    1.自我介绍,说一下项目

    说了下之前在公司做的手绘几何图形规整输出的项目,提了下当时遇到的问题,以及用到的解决方法。也说了下现在组里面在做的表情识别的项目。讲了8分钟的样子。

    2.C++STL标准库里的知识

    sort的时间复杂度。

    这个好简单,O(NlogN),然后我补充了下sort是快排的思想,然后是不稳定的排序算法,是基于泛型编程的思想,除了支持基本的STL中的数据类型,还支持自定义的数据类型进行排序。传进去的是迭代器或者指针,直接操作的地址,然后支持重载,第三个参数可以重写cmp排序规则。

    Vector的增长模式。

    首先vector是一种顺序容器,动态数组,在声明的时候可以调用构造函数直接开辟一定大小连续的空间。当空间满的时候,重新申请一个2倍的空间,将原来的所有数据考呗过去。

    Map底层

    红黑树,比较复杂,和multimap的区别。

    3.平常怎么调试代码,主要在那个平台

    平常主要用vs,Windows下,用过mac下的clion。编译出错,先看是不是语法错误,如果是逻辑错我,通过打log、打断点,定位错误的地方调试。

    4.内存泄漏的问题

    我只答出了数组越界,指针作用域之外指向地址不明,变野指针,复杂度太高递归次数太多爆栈。答得不好,后来查了下,发现还有好多没说到,C++内存泄漏的几种情况

    5.有了解C++的发展么

    现在出到了C++17,上一个版本是C++14,17不了解,出了什么智能指针,方便管理内存。我用过的只有aotu关键字。

    6.网络编程

    问epoll和poll,最近在补,还没看到那块,说了下自己写的TCP的Socket编程,服务器端和客户端的业务逻辑。

    7.Linux

    同步互斥 文件加锁解锁,线程安全 猝。

    我提问环节,让面试官介绍了下他所在部门主要做哪方面。

    KVStore,做redis数据存储的,平常是在linux上对内核进行开发优化,也做一部分远程运维。

  • 相关阅读:
    linux下安装jmeter
    Jmeter 跨线程组传递参数 之两种方法
    Jmeter之Json Path Extractor 接受上一个请求的响应参数
    Jmeter之添加响应断言,bean shell post processor
    Jmeter 分布式压力测试
    Jmeter之一个请求获取上一个请求的参数
    selenium自动化测试实例
    SqlBulkCopy类进行大数据(一万条以上)插入测试
    SqlServer存储过程传入Table参数
    Asp.Net EF Code First 简单入门
  • 原文地址:https://www.cnblogs.com/SeekHit/p/6553883.html
Copyright © 2020-2023  润新知