字节三面(30min)
1、自我介绍
2、内存分布
3、进程和线程的区别
4、进程通信方式:共享内存、消息队列(忘了这个)、管道通信、信号量、套接字socket、信号
5、了解什么锁?说了共享锁/独占锁、公平锁/非公平锁、分段锁(concurrenthashmap)、自旋锁。这个我看好多公司都问到了,肯定是说的越仔细越好。应该还有乐观锁和悲观锁、读写锁等。
6、了解多线程吗?如果有多个线程同时插入元素,怎么保证安全性?我说了同步和锁。
7、怎么实现同步?这里我感觉说错了,就随便说了个每个线程读之前先记录标识,写的时候比较一下是否一致。然后他问如果两个线程同时读了一样的标识呢?反正这里答得不好
8、tcp三次握手的过程,如何保证可靠性?说了确认机制、超时重传、序列号、流量控制和拥塞控制。
9、http和https的区别?主要是https是安全的、加密的、需要身份验证。然后他就问怎么加密?我说对称加密算法和非对称加密算法的结合。他还想接着问,我说具体的就不是很了解了😂
10、最后写了一个代码。很简单的根据先序和中序重建二叉树。这里我刚开始还激动了一下想成了先序+中序构建后序。写了大概5分钟才发现想错题目了。这个写了很久,写完我问要运行吗,面试官说都行,然后我就没有运行😅,因为其实我觉得自己写的也不是很对,思路还行。
重建二叉树(牛客原题):https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=188&tqId=38345&rp=1&ru=%2Factivity%2Foj&qru=%2Fta%2Fjob-code-high-week%2Fquestion-ranking&tab=answerKey
最后总结一下这次面试的想法吧。我觉得这次面试真的问题都中规中矩的,但是自我感觉面得不是很好。主要是以下两个问题:
(1)不注重复习。因为自己已经有了offer,所以面试前没有认真复习之前总结的知识点,而是在看新的知识点。这个真的是个大忌!!!就像是高中考试之前老师嘱咐的那样,大家面试之前一定要复习之前学过的,保证看过就一定能答出来,不能像我一样事后才后悔。一定要认真对待自己的每一场面试,甚至是生活的其他事情,认真和随便的不同态度会导致截然不同的结果。
(2)做题不认真。有些编程题做出来以后当时觉得很简单就不知道复习,导致面试的时候很简单的都得想半天。一定要多刷题!!!因为面试现写真的会很慢。我半天没写出来的时候,面试官还问我要不要换一道题,幸亏我坚持写了,因为这个是有思路的,万一再来一个没写出来岂不是两道题都不会,那这个印象就会变得很差。
这次可能算是我春招的最后一次面试了,最后祝福大家都能找到心仪的实习或者正式的工作。🙂😊😏
全部评论
(7) 回帖