【校招面试】2019春招——字节跳动C++研发线上面试总结(失败)

背景交代:

又是裸面,有了同花顺的经历,就按照同花顺的面试内容,面试早上的时候小小的看了一下。。。没想到会死得这么难看。。。

下午记录的,忘记了一部分内容,把回忆到的先记录下来。


 

在线面试一面面试内容:(早上11点)

  • 介绍一下你自己
  • 有哪些排序算法           答:(排序算法都没准备)冒泡、选择、快排、归并等
  • 手写一下快排和归并排序,给你10分钟                   答:没准备,写了20分钟只写出了快拍。。。(漫长的沉默)
  • 数据库会吗?              答:了解一点。

数据库ACID知道吗?

答:忘记了。

数据库用什么数据结构实现的?

答:树吧,二叉树。

二叉树?是B+树,B+树知道吗?

答:(考完研忘记了)了解一点。

数据库联结操作知道吗?等值联结?

答:好像忘了。应该是表合并吧。

没错,就是将两个表相同键值的元素拼接起来。你实现一下这个等值联结,怎么实现?输入的列的某值,输出是整行元素。

答:①for循环遍历;②可以用map进行键值映射;③进行排序,始终保持存放数据的有序。

(漫长的沉默)

  • 5.操作系统linux会吗?

答:了解一点。

755什么意思

答:…(一脸懵逼)应该是读写删权限吧。

是吗?

应该是的。(开始瞎他么扯了)

(漫长的沉默)

  • 进程和线程有什么区别

进程是程序的一次执行,是资源调度单位,一个进程一个PCB;线程更轻量级,可以使用资源,但不能调度资源。(凭考研印象瞎扯)

(漫长的沉默)

  • 你让我问你什么呢?你擅长什么呢?

答:… 那应该是C++——(排序没想出来马上补了一句)——….语法吧。

虚函数和普通函数有什么区别

答:balabala

我又不懂C++,你说了我也不懂。(这不是C++的面试吗,那你问啥。。。)

答:…(长长的沉默)(由于前面排序没写出来,我感觉已经凉了,开启自闭模式)那我给你介绍一下简历吧。

行。

Balabala度秒如年balabala。

  • 你现在大三还是大四?

       答:大四。

你考研还是找工作啊?

答:考完了。。。

看你简历为什么不保研?

答。。。(这和面试有什么关系吗)balabala

你是哪里人?

答:Balabala。。

(漫长的沉默)

 


一面面试总结:

感觉必挂无疑,场面沉默而又尴尬,我恨不得把电话面试直接挂了。字节跳动的面试内容和同花顺的面试内容完全不一样。同花顺公司面试内容更偏向工程方向,比如C++的语法啊C++的设计模式啊,比如相关C++的工程项目经验与经历,对业务能力的处理以及C++编码经验与高性能高并发工具的学习注重、在意;而字节跳动对于基本算法(比如排序)、数据库的相关与底层相关基础内容比较重视。按照同花顺公司的面试内容准备,结果一点都没用上。。。

最重要的,是自己态度不端正,准备不充分。裸奔面试狂魔。

一面中,四处漂泊者屏幕之间的沉默与尴尬。这头是我扑街、蛋疼、无话可说,那头是面试官也不知从何而问。真是一场别开生面的面试呀!

面试结束我就快乐的去吃饭了。


 

在线面试一面面试内容:(下午1点)

1点17分收到面试通知,以为必跪就在吃饭看电影没看见;

然后收到电话叫我二面。。。我收拾一下开机放下了手中的饭。。。

十分钟后开始面试。

这次面试更加偏向简单的算法吧。

 

  • 首先,自我介绍一下。
  • 问项目中有没有用数据库。       答:团队的时候给队友搞了,自己不是很精通,课程设计倒是用过。
  • 那就是数据库底层不了解咯?           答:对的。
  • 那SQL语句会吗                        答:了解一点。
  • 求:一个班级,某科目的平均成绩大于某值,的科目内容。说明一下SQL语句思路

       答: SELECT 科目 WHERE 班级=XXX AND AVERAGE(SUBJECT)>XXX

       错了,因为你不知科目有几门

       答:建表的时候,几列就表示有几门课(其实SQL语句都忘了)

  • 哈希算法用什么数据结构好

       答:数组。

  • 哈希的时候,如何删除元素

答:哈希下去,到表尾删除元素,或者找到元素,将标记位更改。

哈希这个动作是线程安全的吗

答:读动作是安全的,写动作不安全,可以加锁。

给每个数组中的位置分别加锁,还是一个数组加一把锁。

答:应该都可以,前者方便,后者可以实现更多的线程并发,但可能产生死锁。

  • 写一下线程的单例设计模式把。

答:balalal。(好像写错了)

  • 100W个数,找出前10个最小的。         (此处耽搁10分钟    以上)

       答:①遍历;②排序;③多线程;④归并的思路(没说清楚)

       如果是N个数找出前K个最小的呢?遍历速度是多少?能不能优化

       答:O(NK),排序能变成O(NlogN)

       能不能不排序?

       (我以为能有什么方法能够小于O(N),反正没想出来是那么速度能比O(NlogN)快)

还有什么办法?还能不能更优化?

  •  长度为N的链表,隔K个数反转一次,例如123456,K为3就会变成321654

答:我只想到了模拟一遍,但是这样太慢了,一直想优化的方法,没想到

       你没做过算法吗?你不会链表吗?

       答:做过,但是这个链表相关的做的不多(先入为主acm的题库了)

       不会啊,链表题目最多才对。。。

       答:。。。(还是没想出小于或等于O(N)的方法,以为遍历一遍肯定超过O(N),没细想下去,一直在想什么巧妙的方法。             面试结束才想起来,链表头插法具有将链表倒置的作用。。。

  • 你有什么问题

问上述问题的解法,面试官叫我自己百度。。。


面试结果:二面不通过。。。X﹏X


二面面试总结:

       不管是哪一面,字节跳动的面试对数据库还是很看重的。编码能力要求还好,训练一下找回感觉我觉得就OK了。(虽然这次爆炸)。

       和同花顺公司的面试做个比较吧:

不同之处在于同花顺公司如上文所说,更侧重于对业务的编码实现能力要求,对于基本算法基本数据结构几乎不问的。。。 ;字节跳动公司就会问基础性数据结构啊,会对应聘者的算法能力有要求,这个能力差不多相当于考研的机试程度吧,以及对数据库、加入了额外的要求(都说了不会数据库还问了那么多数据库,可见一斑);

而他们的共同之处在于都对线程开发有一定要求,最常见的就是多线程有哪些不同的写法啊,线程加锁有哪些不同的写法啊,线程安全线程死锁相关的问题吧;

面试官在面试的时候,都喜欢“嗯嗯嗯“然后不说话,等你继续优化或者往下说,这招太搞了。我有时候就傻不拉几的等面试官说话。。。懒得接茬。。。

 

字节跳动面试虽然结束了,如愿的受到了打击。这才是面试应当有的打击感,我很需要这种被现实怒扇耳光的感觉。

这场面试,告诉我正常求职并不简单:对多科知识有要求;

但又不是很艰难:深入层次还是能够触及的,不存在什么难如登天的说法。

 

好好努力,接下来进入下一阶段!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值