一面
今天上午 11:00 面试,大概面了 1h,倒是问了一些 rapidjson 和 pb 方面的内容,因为主要看我是做信令这块的逻辑:
- 自我介绍。
- 你是如何理解 rapidjson 的,有哪些常用的接口,除了 rapidjson 外,还用过其他的 json 解析器和生成器吗。
- pb 的存储结构是怎样的,如何在
message 中定义一个数组。
- 关于线程池你是如何去做的,如何确定线程的数量呢。
- 关于多线程访问时你是如何保证线程安全的,互斥锁和读写锁又有什么区别,除此之外是否还用过其他锁。
- c++ 的新特性你用过哪些,
auto 自动类型推导的实现原理是什么,lambda 表达式的结构是什么,如何使用呢。
- 讲一讲 vector,在插入和删除会造成后面每个元素迭代器失效,如何解决(insert 返回第一个被插入元素的迭代器,earse 返回下一个元素的迭代器)。
- vector push_back 和 emplace_back 的区别,以及在插入元素时如何避免多次扩容的问题。
- 离职原因。
之后就问了下开放性的问题,比如你的优点和缺点、CET4/CET6、高考成绩和大学成绩排名等,总感觉问这些问题让人感觉到公司不太行或者像外包,之后问了下岗位的职责说是做后台的分布式数据库,公司主要做的是工业软件,交付给客户让客户本地安装使用,数据也是存在客户的后台中。
二面
二面约的时间本来是 2.4 19:00,后来面试官没有来,之后又改成了 2.5 18:30,面试时间在 40 min,比较直接,整体问的问题偏开放:
- 离职原因。
- 既然你说你在上家公司做的事情偏运维和杂事,是写代码的时间比较少吗?那你说一下具体做了哪些事情。
- 你们直播的客户有哪些,具体是用到了什么场景以及如何使用你们的服务呢。
- 关于编程,你会做什么事情呢。
- 当有一个需求过来了,你如何将它做成一个系统 & 介绍一下你们的推流架构。
- 当你完成一个需求时如何保证其它功能是正常的,以及升级版本时出现故障又如何将影响将到最低,有什么样的方式。
- 和上一个面试官有沟通过公司情况和岗位职责吗?(这里面试官又重新讲了下公司业务,主要面向制造业,帮助企业构建 & 部署一套软件管理系统,而后台分布式数据库是其中的一个方向,在具备如 MySQL 和 Orecal 等多表操作外,同时还满足客户的业务场景,以接口的形式提供给客户)。
- 看上一个面试官说你经常熬夜到晚上 12-1 点,为什么呢。
- 你上一份工作是在上海,现在投递岗位的地点是在湖北,你对工作的地点是否有要求。
最后我问了下如果客户有临时的需求插入,你们会怎么做,以及对应的工作时间和加班是否严重,在工作时间上确实比互联网公司要好太多,之前在声网经常晚上 10 点后才下班,强度比较大。这次面试感觉也比较良好。
hr 面
hr 通知我面试通过了,聊了下薪资组成开了 16k * 14 薪,1 年 1 次调薪,具体看上一财年的绩效考核结果,然后再基本没有任何其它福利待遇,然后说是双休和不加班,工作地点在武汉。
看了知乎 & 脉脉的风评很差(几乎找不到正面评价),2 薪基本不会发而且 0 年终,说是管理混乱、朝令夕改,同时加班很严重,甚至周六还得无偿加班,内部人员流动性很大,很多人工作不到 1 年就跑路了,工作 2 年都已经是老员工了(我还和前领导通了电话要背调,擦)。
我先 argue 下薪资,看能否提 2k,如果不行就直接拒了。