字节跳动后端面试凉经
进程和线程的区别
TCP/IP协议等八股,我的项目一点没问(淦,亏我准备这么久,没学网络直接凉),准备的数算和c++语法也没问。
概率题:两人抛硬币,先抛到正面的赢,问先手赢的概率
1/2+1/8+1/32+...
我想成了1/4+1/16+1/64+...,我以为要后手也抛完才能知道结果,后知后觉其实并不是。本题凉
算法题:给定一个数组,求峰值(比左边一个大,比右边一个大),暴力O(n)很显然,但是有logn的。我想到了一部分,如果两边都不是峰值,那么峰值一定在中间。这是可以二分的。但是我没敢说,因为太紧张了我无法证明。归根结底是我对二分理解得不够深入,之前遇到的二分都是排好序的数组的二分,这次一个没排序的也可以二分让我大开眼界。本题凉
算法题:给定一棵二叉树,返回蛇形遍历顺序。leetcode水题,宽度优先遍历之后将偶数行的结果reverse就可以。只做出这一个。
第一次面试太紧张了,根本想不出东西。没有问准备的东西也让人猝不及防。最后还问我在校成绩,太扎心了心情down到现在。事后想起来这些东西真算不上难,别骂了别骂了呜呜呜呜呜。
发出来给朋友们一个经验教训,还是要沉着冷静啊。挂了也好,我要准备期末了,还有一堆论文和作业,谢谢朋友们。
—————————————————————————————
二面更新
昨天下午面完二面,现在过来复盘一下。
这次的面试官很nice,上来和我聊了一些家常和规划什么的七七八八缓解气氛。然后步入正题。
先是问了一些计网基础,可惜我没有学过网络,只有很久之前学过一门专业课(ics)涉及到一点点,所以就答得磕磕巴巴,也不太记得题目了,印象里有url,http,tcp。
然后问了进程切换的过程,什么是进程上下文,如何分配线程运行的时间。
然后问了c语言程序写好到编译汇编成可执行文件这个过程细节。我其实不太了解,虽然ics中学过皮毛(csapp怎么什么都有,yyds!),但是时间太过久远了,真的忘得太多了,毕竟平时也没怎么用。
之后是算法题:
1.给一个二维数组,返回其逆时针遍历顺序。看起来挺简单,其实不太好写,要考虑的边界条件很多,平时也没怎么练过这种题。如果放到作业里这道题我可能会断断续续写上两小时,考试也不爱考。写了十分钟没解决面试官给我开了下一题。
2.给两个有序链表,归并一下,简单题。
之后是反向提问,我问了如果有幸进入贵公司的话,我可能会负责什么样的业务。然后他很耐心地给我讲了。
这次面试体验良好,面试官很nice,整体氛围轻松,问题回答得很耐心,我回答不出的时候也会有很多提示。结果还没告知我,不过我觉得希望不大,由于专业原因操统网络都没学过,也因为准备期末考试没怎么准备面试,基础知识还是太差了。寒假补一些基础知识再刷些题继续找吧。其实我蛮希望他问一些数算或c++的,我这学期修了数算而且学得不错,问这些对我更好吧哈哈哈哈。继续加油
全部评论
(6) 回帖