商汤三面+HR面经:商汤北京研究院,见习研究员
简历语言部分是熟悉C/C++,Veribug,较熟悉Java(项目用到了Spring三件套),会写Python(只是调包写了人工智障作业),其他一无所知;
字节:简历是直接给认识的HR的,然后被Data架构捞起来了。挂了之后过了大概四五天被中间件捞了起来。然后挂了之后又被捞了但是害没来得及问是啥部门:( 27号考完研1.04号字节一面,中间几天都在恶补《高性能MySQL》的部分章节。字节很注重基础,408学一遍还是有帮助的(大雾),主要挂在题没刷够,智力题不行。大概考后刷了剑指Offer三十几道。感觉五面下来字节的题库都要有了(笑Cry),后来又被捞起来但是已经收到了商汤的口头Offer就婉拒了热情的HR小姐姐。项目有关的一堆东西,讲清楚你做了啥就行了,感觉字节不是很重视项目?
商汤:简历是在牛客上投的,感谢大佬(也是我未来的Mentor)帮忙内推!虽然之前除了人工智障没接触过深度学习,一只菜鸡,但是被JD上由浅入深,会帮培养实习生分解小任务慢慢完成复杂任务吸引,还是心存侥幸投了,没想到很快就有了回复,大佬和HR还加了微信,流程十分贴心。
字节
数据结构:
判定一棵二叉树是否完全二叉树(给出了DFS和BFS解法),剑指Offer原题
两个栈表示队列,剑指Offer原题
给定一个数组,和一个数X,输出数组中所有和为X的数的组合,当场编译运行跑样例,华丽丽地挂了,后来发现是牛客原题(Data部门挂)
给定一个字符串,和一个数字K,要求找出字符串中连续子串,该子串需要满足:字符种类小于等于K,子串长度最长,当场编译运行跑样例都通过了,这一面应该是智力不行(中间件部门挂)
操作系统:
-
进程间通信的方式?具体说说
-
进程调度算法有哪些?
-
线程消耗哪些资源?几个字节?
-
虚拟内存?常见的页置换方法?(关注下LRU,CLOCK)
-
堆和栈的区别?生命周期?
-
死锁的四个条件?死锁预防,死锁避免,死锁检测?
数据库
-
数据库事务ACID?解释一致性
-
数据库的四个隔离级别?脏读和幻读?怎么解决幻读?MVCC了解吗?(我死了
-
MySQL的索引?MyISAM 和 InnoDb的区别?给一个表创建索引的语句?(alter table add key)
-
覆盖索引和聚簇索引?
-
InnoDb回表?(一级索引,二级索引)
-
explain 语句使用过吗?会关注其中哪些参数?哪些可以反映查询语句的效果?
-
给表写查询语句
-
Left join, inner join, right join的区别
计算机网络:
-
TCP,UDP。TCP的八股文网上都有,基本啥都可能问,什么为什么握手不是四次挥手不是三次等等,还有TCP最少20字节UDP8字节TCP怎么分片的这都问
应用层协议,问的非常多,刚开始死的很惨。
-
HTTPS和HTTP的区别?HTTPS非对称加密的详细过程?(从CA发公钥开始)
-
DNS,十分详细。DNS用什么传输层协议(UDP)DNS负载均衡的详细过程 DNS迭代查询和递归查询
-
POP3和SMTP(项目中有发邮件功能)
-
流量控制和拥塞控制,窗口那一套,重传那一套
-
数据链路层,CSMA/CD
智力题:
第五面,第一次碰到面试官说来我们问两道智力题,人都傻了,全挂,然后从HR得到反馈智力不行。。。关于智力题,后来在牛客找到了大神的总结:总结一句话:看过一分钟,没看过一小时
总结链接:https://www.nowcoder.com/discuss/526897
-
一枚不均匀硬币,怎么保证1/2,1/2(精确的,不是抛N次统计)
-
N 瓶药水只有一瓶毒药,最少多少只小白鼠检测出毒药?(百度小白鼠毒药即可获取正确解答)
C++:
-
手写vector的push_back()源码;push_back()的改进方式(提前在内存中开好2的幂次方的空间以空间换时间;使用链表的方式扩容以时间换空间;)多个线程同时访问时,代码段中的哪些行需要加锁,哪些可以不加?等等
-
list的使用场景?
-
list自带排序函数的原理
-
指针变量的长度?
-
C++结构体,类的字节对齐
-
C+程序的编译过程
-
C语言函数参数入栈顺序,动态参数呢
-
构造函数为什么不可以是虚函数
-
虚表的结构;类的对象共享虚表;虚表在内存中的位置
-
const 关键字 static 关键字
-
C++11智能指针, 重点关注下shared_ptr
-
单例模式
Java:
简历中第一个项目也是唯一部署在服务器上的是软工大作业~后端用的Java,问了一些Java有关问题
-
HashMap的底层结构?(数组加链表)线程安全吗(不安全),怎么解决?(ConcurrentHashMap)HashMap怎么解决哈希冲突的?JDK1.7和JDK1.8的HashMap啥区别
-
项目怎么部署到服务器上的?你觉得影响访问效果有哪些因素?
Python:
Data部门面试官:我们部门主要写的Python,你为什么投我们部门(我哪知道,你们部门HR偏偏捞我一个不写Python的,自然是Python所有问题都不会,直接说的不会,也没怎么难为)
-
看你的Python解释器(🐲编译器大作业),那你知道Python内存嘛?Python垃圾回收知道吗?
-
Python装饰器知道吗?
商汤
一面:
-
讲一下可以体现你动手能力和学习能力的项目
-
围绕项目问问题
-
做题:反转链表
二面:
-
讲一下你的编译器(讲完:你们大作业有点水啊,你们应该把自己写的编译器放在自己写的OS还有自己写的MIPS32CPU上跑,卒)
-
讲一下你的CPU(终于有人问这个了!Veribug这套当年经受的磨难太深了),分支预测,Cache
-
做题:01字符串,找出其中最长的子串使0和1的个数相等。(牛客原题,之前没刷过,现场写了O(N^2)的也算过了(感谢面试官),后来看了O(N)解法叹为观止。
-
做题:N个路灯关的,每次按下1~N的倍数的路灯的开关,问最后几盏灯亮着(根号N向下取整)
三面:
-
深度学习,卷积(都不了解),于是直接开始Coding
-
Coding:快排,怎么减少O(N^2)出现?
-
Coding:超多的数字,其中超多的重复,怎么排序?用了一个map记录数字和它对应的个数然后对key进行快排
-
Coding:对一个数开根号,精确到小数点后五位?二分法,注意浮点数即可(fabs(left-right)<1e-6) 浮点数在计算机中怎么表示的?(IEEE754,感谢408)
-
聊了会规划和想学什么
HR:
-
什么时候可以入职?实习多久?
-
以前的小组项目觉得自己是什么角色?(感觉是看合作能力)
-
学习规划
全部评论
(15) 回帖