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上对内核进行开发优化,也做一部分远程运维。
2017 阿里巴巴 C++后台开发一面 3.14的更多相关文章
- SpringBoot技术栈搭建个人博客【后台开发】
前言:在之前,我们已经完成了项目的基本准备,那么就可以开始后台开发了,突然又想到一个问题,就是准备的时候只是设计了前台的RESTful APIs,但是后台管理我们同样也是需要API的,那么就在这一篇里 ...
- 【分享】Java后台开发精选知识图谱
地址 引言: 学习一个新的技术时,其实不在于跟着某个教程敲出了几行.几百行代码,这样你最多只能知其然而不知其所以然,进步缓慢且深度有限,最重要的是一开始就对整个学习路线有宏观.简洁的认识,确定大的学习 ...
- ABP开发框架前后端开发系列---(14)基于Winform的ABP快速开发框架
前面介绍了很多ABP系列的文章,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机构.用户.角色.权限.菜单等内 ...
- Java后台开发精选知识图谱
1.引言: 学习一个新的技术时,其实不在于跟着某个教程敲出了几行.几百行代码,这样你最多只能知其然而不知其所以然,进步缓慢且深度有限,最重要的是一开始就对整个学习路线有宏观.简洁的认识,确定大的学习方 ...
- 后台开发:核心技术与应用实践 -- C++
本书介绍的"后台开发"指的是"服务端的网络程序开发",从功能上可以具体描述为:服务器收到客户端发来的请求数据,解析请求数据后处理,最后返回结果. C++编程常用 ...
- 给大一的学弟学妹们培训java web的后台开发讨论班计划
蓝旭工作室5月大一讨论班课程计划 课时 讨论班性质 讨论班名称 主要内容 主讲人 第一讲 先导课 后台开发工具的使用与MySQL数据库基础 后台开发工具的基本使用方法与工程的创建,MySQL数 ...
- discuz后台开发常用函数
showsetting()表单显示 返回值:无 参数: $setname - 指定输出标题,如:setting_basic_bbname, 自动匹配描述文字为:setting_basic_bbname ...
- php后台开发(二)Laravel框架
php后台开发(二)Laravel框架 为了提高后台的开发效率,往往需要选择一套适合自己的开发框架,因此,选择了功能比较完善的Laravel框架,仔细学来,感觉和Python语言的框架Django非常 ...
- php后台开发(一)hello world
php后台开发(一)hello world 环境安装 开发环境为Ubuntu 12.04,选择linux+apache+php的开发环境 安装 apache2 sudo apt-get install ...
随机推荐
- 看我如何通过邮箱获取IP定位-复现
环境准备:一台部署了phpstudy 的vps 脚本内容:get_ip.php 该脚本可以生成一个十分隐蔽的图片,并获取客户端的一些敏感信息. 代码内容如下: <?php //show_sour ...
- java将base64解析图片保存到本地。
将base64解析图片保存到本地的两个方法 /** * base64转图片 * @param base64str base64码 * @param savePath 图片路径 * @return */ ...
- C# XML操作之一:使用XmlDocument来读写
所有代码都在同一个类中,含有对象 XmlDocument doc = new XmlDocument(); 新建XML,并且写入内容 private void button4_Click(object ...
- [转帖]运行时库(runtime library)
运行时库(runtime library) https://blog.csdn.net/xitie8523/article/details/82712105 没学过这些东西 或者当时上课没听 又或者 ...
- 【3.2】【mysql基本实验】mysql GTID复制(基于空数据的配置)
概述:本质上和传统异步复制没什么区别,就是加了GTID参数. 且可以用传统的方式来配置主从,也可以用GTID的方式来自动配置主从. 这里使用GTID的方式来自动适配主从. 需要mysql5.6.5以上 ...
- LeetCode 初次使用 两数之和的训练
首先看到示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 想到,我可以先在nu ...
- layui自定义插件citySelect 省市区三级联动选择
省市区三级菜单联动插件 citySelect.js /** * @ name : citySelect 省市区三级选择模块 * @ Author: aggerChen * @ version: 1.0 ...
- Linux 测试IP和端口是否能访问
一. 使用wget判断 wget是linux下的下载工具,需要先安装. 用法: wget ip:port 连接存在的端口 转自:https://blog.csdn.net/weixin_3768923 ...
- Codeforces 1201C. Maximum Median
传送门 看到中位数考虑先把数排序一下 然后有个显然的贪心,一个数增加后一定不能比下一个数大,不然我们直接增加下一个数显然更优 所以初始时的中位数操作后也是中位数 那么我们只要考虑中间再往后怎么加使得答 ...
- python网络爬虫(6)爬取数据静态
爬取静态数据并存储json import requests import chardet from bs4 import BeautifulSoup import json user_agent='M ...