字节面试    总结: 可能是因为我是Java技术栈去面Android的原因,问的基本都是八股。  猜到了可能会问并发编程,就去看了下相关内容,这块是和OS一起看的; 就算这样还是写不来并发。。着实是缺乏训练    问题1:算法题,给定一个只包含数字的字符串,问你点分十进制划出IP地址可以划出多少种,输出出来   答案1:讲了下思路,  直接DFS枚举一下就可以 每1/2/3个数字一点断, 然后把字符串转数字判断是否小于255 如果小于255接着去寻找下一个点断即可    但是字节的飞书链接里面的oj貌似bits/stdc++头文件没有包含stoi函数...  着实坑了我一手    讲一讲 synchronized关键字与锁升级机制    老八股了    问题2:手写并发, 两条线程交替输出 一个输出偶数一个输出奇数   答案2:... 只晓得Java的并发机制, 就没写过并发   根本写不出来,  其实很基础 当时只看了实现机制没有去实操   估计就是挂这里了   大家引以为戒    问题3:Java的类加载机制 双亲委派机制   答案3: 我从类的生命周期开始讲的,老八股了。    堆区和栈区有哪些区别, 刚才的手写线程题里,哪些是堆区哪些是栈区   随便分析下    问题4:手写单例模式   答案4:写了一个doubleCheck的, 有些小错误,在面试官提醒后改了一下 ; 讲了一下为什么要加volatile 为什么要doubleCheck,  还讲了饿汉式写法和枚举的写法    问题5:输入URL到渲染出页面的过程   答案5: DNS查询过程,迭代查询递归查询, TCP简历  HTTP请求 返回HTML页面 再次通过HTML页面中的信息去拿资源 (这里又回答了一下Http1.1的长连接)    问题6:HTTP与HTTPs的区别   答案6:讲了一下SSL,公私钥对加密,以及在HTTPs中对称加密和非对称加密分别在什么时候会启用    一道思考题: TCP流量控制简单介绍下  TCP的流量控制为什么要滑动窗口,如果不用会怎样?    我的看法: 用滑动窗口是因为TCP通讯双方每次收发双方都不是只传一个包,而是一批一批地传(简单描述了一下流水线传输)   这样可以保证效率,而滑动窗口机制本来就是设计来实现流水线传输的,不用的话效率无法保证;    如果收发双方不交换滑动窗口大小,为了保证流量控制,收发双方也要交换信息,可能是接收方的缓冲区大小,  但如果都要交换这个消息了, 不如直接复用滑动窗口的设计 
点赞 2
评论 0
全部评论

相关推荐

迷茫的大四🐶:我不许你接受,我不许你启动咏鹅
点赞 评论 收藏
分享
10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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