华为通用软件开发面经
目前泡在offer池中,坐等开奖
求开奖求开奖求开奖
#面经##软件研发工程师##华为##校招#
求开奖求开奖求开奖
一面:1h
1. 自我介绍
2. 算法题:leetcode第二题,两数相加
3. 如果将上一题的题目改为正常排序的两个数,怎么做?(我讲了三种:递归、栈、翻转链表,然后面试官让我讲讲这三种的区别)
4. LRU算法,思路,写出它的数据结构
5. 如果多个线程对LRU中的页进行写操作应该在哪里加锁保证安全性?加什么锁?(get阶段就要加锁了,我说的是读写锁都要加,也不知道对不对)
6. 读锁和写锁的区别。什么情况下才可以加写锁(读锁为0,没有写锁的时候)
7. 挑一个项目说说,你的项目难点是啥?没有难点可以说你调用函数的算法逻辑。
8. 碰到问题,你是怎么解决的?
9. 对于一个不了解的项目,你的时间分配以及任务分配是啥?
中间有个小插曲,我问面试官为啥不问问基础,他说他本来是二面的,不知道咋回事排到一面了。。。所以一开始连我简历都没拿到。。。过了十来分钟开始二面
二面:50min
1. 自我介绍
2. 平时用哪种语言多?(c++)
3. 说说你的C++项目
4. 项目中的用的数据库是哪种?(MySQL)
5. 你的程序通过啥接口访问数据库的?(qt)
6. 用了几张表?(两张)
7. 表有关联吗?
8. 什么情况会使用到主键索引?(我把主键索引说了一通,结果人家问的根本不是这个问题,尴尬)
9. 刚刚你讲的是索引,你说说主键和外键的使用场景?
10. 你说你两张表有关联,那么如果要删除其中一个记录,同步删除另一个表中的记录,你咋删除?
11. 如何保证你的表的完整性?(我说事务,感觉不太对,有可能人家想问锁相关)
12. c++哪个版本用的多?(11)
13. 说说你用过的c++11中的一些新增特性。
14. 智能指针有了解过吗?(喀喀喀一通说)
15. unique_ptr和auto_ptr之间的区别?
16. unique_ptr有拷贝构造函数和赋值构造函数吗?(有的!我回答错了,不过面试官提示了一下)
17. 用过模板函数吗?你用模板解决啥问题?(通用性)
18. 假设你设计的模板能够适用于大部分场景,但是有些场景不适用,你咋做?(模板具体化)
19. 函数重载怎么重载?
20. 假设有三个函数,函数名相同,普通函数,具体化函数,非具体化模板函数,那么调用顺序怎么搞?
21. stl里面的容器用过哪些?
22. unordered_map和传统98的map有啥区别?
23. 假如你的unordered_map的key是一个自定义的复合类型,你需要做啥操作?(这里我真的无能为力。。。其实这个问题还是涉及到函数重载的内容)
24. 通过下标访问map这个元素,那么这个元素不存在会对map有啥影响?
25. 多线程了解吗?(不了解)
26. 网络通信了解过吗?(不了解)
27. 设计模式了解吗?(单例、工厂,也没让我细说)
28. 有没有什么要补充的?我没问到但是你比较擅长的?(给自己挖了个坑,我说了虚函数,然后人家接着问虚继承。。。哎,我不记得有这东西了)
29. 虚继承为了解决什么问题?(不知道)
30. 虚继承的内存模型长啥样?(不知道)
31. c++中的类型转换了解吗?(四种)
32. dynamic_cast是否安全?(在面试官的指导下,我知道了它是安全的!如果两个不相关的指针之间发生类型转换的话就会返回NULL,并抛出异常)
三面:24min
1. 你挑个项目讲讲,讲讲技术难点,以及你是如何解决的
2. 你是想留在深圳是吧?
3. 你对华为怎么看?
4. 你对加班怎么看?
5. 当你的爱好和你的特长冲突的时候你会怎么选择,会不会考虑转岗?(面试官开始将自己的经历)
6. 你遇到过的最困难的事是啥?你是怎么调整自己的?
7. 你有看什么书吗?
8. 如果分配给你的任务你可能无法按时完成,那你会怎么做?