[已跪]阿里内推一二面

一面

1. 自我介绍

2. 说说你觉得不错的一个项目(我讲了网络库,架构参考了 Reactor模式)

3. 因为上一个问题,引出的问题:介绍下Reactor模式和Proactor模式,说下两者的区别(我说了IO是否由用户处理,面试官不满意,事后想了想,大概他想问的是异步和同步吧),说下知名网络库分别用这两种模式的哪一种(血崩,就说了asio和ACE,其他的没了解过)。
4. 场景题“给你两个文件a和b,大小大概100M,两个文件每行一个整数,要求找到两个文件中相同的整数,存到文件c里,问我怎样尽快的完成这项工作“并问了一些子问题:1)你准备用什么语言(这种工作肯定要用脚本语言写。。但shell和python都好久没用过了,语法完全忘了,我就说用最熟悉的语言。。C++) 2)你准备用什么数据结构?(本着面试要提出多个方法的思路,我先后说用排序、堆、hash表)3)具体到stl你准备用什么容器?(我说unordered_map。。面试官不太满意,应该是unordered_set更好,一时紧张,没想起来)
5. 在线编程:实现一个工具类,提供解决问题4的函数。要求注意编码规范、工程要求等问题。(还算简单,就是因为紧张,犯了很多愚蠢的错误、比如函数名一开始我起名为do。。)

总结:
1. 表达能力欠缺,不能简明扼要得回答问题,往往需要通过举例或者具体带入一个场景来描述,有些啰嗦。
2. 一开始引导的方向不对,将面试引入了自己不熟悉的领域。我没有深入学习过Reactor模式和Proactor模式,仅仅是很久之前看过几篇博客,了解其过程,对于其背后的意义和应用都没有关注。
3. 技术视野不足。

二面(总监面
1. 面试官看了我的github,让我介绍下第一个项目
2. 我的项目是网络编程相关的,就问我,socket可以设置哪些超时的参数。(我有点懵,没设过,我说了TIME_WAIT的时间、重传的超时、KEEP_LIVE的超时)
3. 问我的项目有没有处理send的超时。(函数错误的时候,都是直接返回false的,只好说没有处理)
4. 如何保证代码bug比较少。(我说了要分模块开发,写日志等。面试官不满意,说我有没有进行过单元测试、压力测试等等,答: 没有)
5. 你算法能力如何。(答,一般)
6. 一道题:给定一个整数数组,里面有两个数相同,其他数都是不同的,如何尽快找到这两个数(答,用hash表,O(N),有更好的方法么?)
7. 你有拿到其他公司的offer么(我说秋招刚开始。没面其他公司呢。。实习时阿里和TX挂了,就没面其他公司)

总结:。。。不知道该说啥。觉得自己太平凡,没有亮点。
#阿里巴巴##C++工程师#
全部评论
回绝了?二面后多久回绝的?
点赞
送花
回复
分享
发布于 2017-08-09 18:58
那个算法题,难道有logn的方法?不可能吧?除非是排序了的…同或可以吗?
点赞
送花
回复
分享
发布于 2017-08-09 19:18
秋招专场
校招火热招聘中
官网直投
你项目是自己写了一个网络库? 那reactor和preactor应该很清楚吧 还有send是根据套接字阻塞非阻塞来决定自己是不是立即返回啊,如果是阻塞IO,send怎么设置超时啊,感觉send的系统调用没有这个选项啊,这个我不太明白啊
点赞
送花
回复
分享
发布于 2017-08-09 20:01
可以分享一下github地址吗?想看一下网络的项目,私信也可以,谢谢了
点赞
送花
回复
分享
发布于 2017-08-09 20:42
我擦,网络库咋问这些
点赞
送花
回复
分享
发布于 2017-08-09 21:13
请问楼主是电话面试,还是现场面试啊
点赞
送花
回复
分享
发布于 2017-08-09 21:18
方便问下,你是从内推到一面大概过了多久?还有就是还可以继续走校招流程吗?谢谢
点赞
送花
回复
分享
发布于 2017-08-09 22:14
第六道算法题,面试官有说数据的值的分布范围吗?
点赞
送花
回复
分享
发布于 2017-08-09 22:22
第六题算法有什么思路吗...时间O(N) 空间O(1)的  
点赞
送花
回复
分享
发布于 2017-08-09 23:03
问这么难??
点赞
送花
回复
分享
发布于 2017-08-09 23:14
可以先用排序算法先排序在前后比较是否相等吗
点赞
送花
回复
分享
发布于 2017-08-10 08:59
第六题,可以用分治做到logn
点赞
送花
回复
分享
发布于 2017-08-10 12:18
找两个相同的数用异或
点赞
送花
回复
分享
发布于 2017-08-14 21:24

相关推荐

头像
05-17 12:12
C++
github仓库开源地址:https://github.com/superxiaobai-1/proto_rpc(参考陈硕大佬的 muduo )从事c++方向基本技术栈要求,和websever一样技术栈:c++,c++常用特性,shell,docker,protobuf,cmake,网络编程,系统编程项目简介:是一个基于 protobuf 构建的高性能 RPC 框架,采用多 Reactor 多线程模型和回调机制,实现SOA架构下的分布式系统通信。主要特点:1. 构建环境自动化: 使用 docker 构建整个 rpc 项目环境,通过 dockerfile 安装 protobuf、cmake 等依赖项,同时使用 Shell 编写第三方库源码安装和容器操作脚本,以实现项目构建流程的自动化和部署的便利性。2. SOA架构: 项目遵循 SOA 的设计,network、rpc_framework、docker 分为独立的模块,提供特定的功能和接口,便于上层调用和耦合。3. network 模块: 基于事件驱动、非阻塞 I/O 和 Reactor 模式的网络模块。4. rpc_framework 模块: 基于底层 network 模块;proto 编码、反射机制;服务注册与发现等服务,构建上层高性能RPC 框架。5. 项目管理和构建: 使用 cmake 作为项目的构建系统,并构建相应的静/动态库,供第三方模块调用;并通过 git ,clang-format等工具,管理仓库代码。SOA(Service-Oriented Architecture,面向服务的架构)是一种软件架构设计理念,其中软件系统被设计为由相互独立、可重用、松散耦合的服务组成。
点赞 评论 收藏
转发
头像
05-17 12:10
C++
点赞 评论 收藏
转发
点赞 52 评论
分享
牛客网
牛客企业服务