字节提前批 8.4 番茄小说 后端一面凉经

一、写在前面

  • 算法仍然是大厂考察的重点;
  • 希望各位牛友帮我分析一下面试失败的原因;

二、面试内容(40min)

1. 计算机网络

  • HTTP与HTTPS的区别

    HTTP基于TCP进行通信,HTTPS则是在于TCP通信之前,先与SSL通信;
  • SSL的作用

    防窃听、防篡改、完整性保护;
  • 一个URL输入浏览器之后,详细的解析过程;

    DNS解析域名的过程:迭代与递归两种方式,并且说明了请求流动分别经过了什么级别的服务器;
    
    获取IP地址之后,三次握手的TCP过程;详细到了每一个报文中的同步比特、确认比特等;以及解释了为什么要三次握手:确认彼此的接受/发送能力、防止打开过多的TCP链接;
    
    浏览器通过HTTP请求获取对应URL资源,渲染页面呈现给用户;
    
    TCP四次挥手,具体到了每一个报文的同步比特与确认比特,并解释了TIME WAIT(防止用户端最后的确认报文不能抵达服务端从而不能关闭连接)和CLOSE WAIT(等待响应进程结束数据的传输)

2. 操作系统

  • 进程与线程的区别

    进程:对运行程序的一种抽象,操作系统分配资源的最小单位;
    线程:比进程更加纤细的存在,实际运行在CPU上的;
    
    这里应该说:线程之间并不独立,极有可能互相影响;进程之间独立性强;
  • 进程间的通信方式

    7种方式:
    
    匿名管道:亲缘进程通信、半双工、一进一出、实质上是内存中一种较为特殊的文件;
    有名管道:与匿名类似、任意进程通信,是实际存在于文件系统的文件;
    信号:任意时刻发送给某一个进程的一种信号通信方式,例如在命令行通过ctrl^c结束一个进程;
    消息队列:存在于内核当中的消息队列;(遵循FIFO,但是支持随机访问,消息队列克服了信号承载信息量少,管道只能承载无格式字 节流以及缓冲区大小受限等缺)
    信号量:一种计数器,主要用于进程间的同步问题;
    共享内存:如今最常用的一种通信方式;多个进程访问同一块内存,需要注意对于临界资源的互斥访问;
    (套接字:实现网络中位于不同端的进程间通信)
  • 进程上下文切换,保存了什么资源?

    说的很模糊;我的回答是:保存了PC、局部变量等内容;

3. Java八股文

  • HashMap的底层实现?

    底层是Table数组,每个数组元素可以看作是一个桶,桶中存放的可能是链表或者红黑树;
    链表树化的条件:table>64 && 链表>8
  • HashMap何时扩容

    HashMap元素数量大于临界值的时候,触发扩容;
    临界值的大小是当前数组长度的0.75;
    0.75的计算,似乎是根据统计学中的泊松分布得来的(不确定);

4. 算法

  • 合并区间

    o(n+nlogn)的写法,即排序+合并,但是我忘记了二维数组的排序API,被说了;可以重写比较器;
  • 寻找峰值

    o(n)简单,但是你要学会o(logn)的算法;

三、总结

  • 需要提升算法,目前仍然不够熟练;
  • 回答要有自己的思路与规范,纯背书不好;有了基础知识的实力的人很多,你如何融汇贯通自己的实力?

希望得到大***贵的意见;

#面试复盘##面经##校招##字节跳动##Java工程师#
全部评论
1.八股文尽量结合自己的理解或者项目说,更有信服力不是背的,也能让他觉得有点新意。 2.算法题先考虑完善思路,想好了和他交流,尽量想到最优方法再写,不行也可以交流中提示。
3 回复 分享
发布于 2021-08-05 11:08
关于hashmap的扩容机制:到底是table数组的长度到达限定值了以后扩容,还是hashmap里存放的所有数据的数量达到了限定值后再扩容?太久之前看的了🤣记不太清了
1 回复 分享
发布于 2021-08-05 21:19
套接字 可以用于同一计算机不同进程的通信吗?
1 回复 分享
发布于 2021-08-05 11:53
我也是今天刚面 你咋知道已经挂了得 我一直没消息 下午刚面完
点赞 回复 分享
发布于 2021-08-05 20:25
那个二维数组排序的API忘了很拉印象啊。。。
点赞 回复 分享
发布于 2021-08-05 15:47
看不出来面试很水...
点赞 回复 分享
发布于 2021-08-05 15:27
我也面的番茄小说,也很想吐槽这次的面试官…准备秋招换部门投了
点赞 回复 分享
发布于 2021-08-05 13:42
太过分了吧,面试的时候大声吐痰可太醉了 秋招才刚开始,会慢慢好起来的
点赞 回复 分享
发布于 2021-08-05 12:12
加油楼主,会拿到好offer的!
点赞 回复 分享
发布于 2021-08-05 11:54
感谢楼主分享!秋招加油
点赞 回复 分享
发布于 2021-08-05 11:53
点赞 回复 分享
发布于 2021-08-05 11:53
寻找峰值应该用二分
点赞 回复 分享
发布于 2021-08-05 10:10
楼主我觉得你在上下文切换的地方回答的也有些问题。。。 以及URL输入浏览器中浏览器和操作系统的缓存也没提到
点赞 回复 分享
发布于 2021-08-05 10:07
应该是算法没有用最优解
点赞 回复 分享
发布于 2021-08-05 08:30
同一面挂 我是算法没写出来
点赞 回复 分享
发布于 2021-08-05 08:30
我怎么觉得 你的一面面试官是我三面的面试官 。是不是脸有点圆的
点赞 回复 分享
发布于 2021-08-04 22:28

相关推荐

05-30 08:11
已编辑
门头沟学院 Java
双一流25应届,去年6月份因为家里的原因来到熟人的公司嵌入式实习,我以为来这有人带,不用卷java了,虽然不喜欢嵌入式也硬着头皮上了。好好好,来到这发现这项目什么都没有,都得自己从头开始干,+1在国外和我倒时差,一开始问他问题还会帮我一下,后面干脆就是直接下任务,我问他问题也不直接回答我,就一直说这个方向可以做出来的你自己去试试。然后我就艰难的自己上网找资料做无源电流传感器,由于是ti的cc2652r7芯片,国内基本没啥资料,全是国外和官网论坛的资料,于是就照着官方示例一顿猛改,还有esp32s3来接收传过来的数据发到aws上,整个流程全是网上找的示例+gpt改过来的。我也不知道我干的是嵌入式里的什么方向,有懂的老哥可以说一下吗,重点来了,实习一个月就三千,最近快毕业了才着急自己未来的事,因为是小公司而且老板也认识,找他谈转正8k,他说要好好把握住这个机会,难得我的+1愿意带人,然后什么什么的没听进去。然后两个星期后,+1和我说他批了,过几天和老板谈谈,我不知道我毕业之后能不能拿到这8k,所以想问牛友们,我拿8k不过分吧,我实习了差不多一年感觉对这方向不是很感兴趣,我是要继续跟着江协学stm32补基础和rtos,还是现在回到java库库卷,感觉java岗位比嵌入式的多多了,虽然大家都在喊惨,但是机会还是挺多的吧,我自己本身java有基础,做过鱼皮的几个基本的项目,现在自己副业搞的一个项目也是c#转java后端的,大家帮我分析分析这两条路呗,哪条好一点,谢谢各位大神了
求求offer的河老师很爱吃香菜:眼熟学长,又是你建议跑路,虽然我嵌现在一坨但是这老板属实是史8k都给搞出来了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
4
62
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务