12月陆陆续续面了一些公司的日常实习,主要投的都是Java和Go后端开发。比较幸运,基本上都OC了,整理如下,文末有薪资待遇的汇总:
开云集致 (2022.12.8)——Java开发实习生
TCP为什么需要三次握手,四次挥手,把每次握手、挥手的作用说一下。
TCP四次挥手后,为什么要time_wait 2MSL?等1MSL为啥不可以?
那既然TCP有seq,Time_wait这个状态有啥用呢?没有行不行?
我看你实习这个网关基于TCP的,你怎么处理的半连接?(对db server做健康检查,client没啥处理,后续优化)
说下网关处理流程,怎么有效减少网关层的损耗?
那你这个网关压测后,发现了什么问题?(协程数过多,内存飙高)
怎么解决的?(我们尝试了两种解决,一是协程池,减少协程的创建,销毁,减少上下文的切换;二是利用HPA,对proxy节点扩缩容,安全值是80%)
dubbo超时的场景有哪些?(说的不好,接触的业务太少)
dubbo注册中心挂了,会发生什么?(经典八股)
你这个在线协作,交互冲突咋解决的?(OT,服务端加锁)那你这个很暴力,可以考虑优化
德胧集团Java一面(2022.12.12):
- 说下ArrayList扩容机制
- 说下HashMap哈希冲突,怎么解决的
- 什么时候链表转红黑树
- 红黑树是平衡的,什么叫平衡树?为什么要平衡
- 说下MYSQL为什么索引命中后,效率提高,说下索引的数据结构
- 索引查找的时间复杂度是多少
手撕力扣36(middle): https://leetcode.cn/problems/valid-sudoku/
德胧集团Java二面(2022.12.12):
- 说下Spring怎么解决循环依赖的?(忘了,g,面试官直接脸色变了)
- 如果我的type是个枚举类型?索引如何优化
- MYSQL会优先去有最大区分度的索引树去查,再根据查到的结果遍历匹配其他条件。根据枚举类型筛选出来的数据多,优先不选择该字段。
- 索引的底层结构是啥?
- 我要查全量的,写个分页:select * from hotel limit 50, ?*50;
- 怎么优化分页?
- Redis大Key,会引发哪些问题?
- 怎么解决大Key问题?拆
- Redis怎么实现分布式锁?说了redission
- redission那个不实用,有没有更简单的?
- setnx 的具体参数是什么?
手撕原创题:m个车库,n条记录,每条记录有车的id,车库的id,入库时间和出库时间。问筛选出任意时刻只要存在至少三辆车在一个车库的车库。
手撕快排(秒)
数预智能java一面(2022.12.13)
- nacos负载均衡是什么?(后续补补)
- 注册中心在CAP中,你觉得应该优先保证哪两个?(是AP,这块说错了)
- 你在Seata贡献了什么?
- Redis为什么这么快?(基于内存、单线程、IO多路复用)
- Redis的IO模型了解吗?(要说出关键点)
- Redis是怎么解决线程安全问题的?
- 说下Redis的数据结构及其使用场景?
- Redis作为缓存的话,说下如何保证数据一致性?(延迟双删、消息队列重试、基于binlog)
- 说下缓存击穿,如何解决?(设置热点数据永不过期、更新缓存时,加全局锁,保证只有一个走数据库)
- 分布式锁有哪些实现方式?
- 说下Spring IOC?
- 说下Spring Bean的生命周期?
- 说下Spring AOP?他的底层实现是什么?(动态代理)
- 说下动态代理除了原生的jdk代理,还有什么?(Cglib、javaassist)
- 说下原生jdk代理的缺点?
- 说下Spring中使用到的设计模式?
- 说下Spring侦听器模式的实际应用及好处?
- 说下HashMap底层原理,及数据结构
- 说下HashMap扩容的过程
- 说下Mysql索引的分类?(需要从数据结构、物理存储、字段特性、字段个数去说,我这块说的不全)
- 说下聚簇索引 & 非聚簇索引区别
- 有一张表,对a、b、c三个字段建立联合索引,问只对a、b where查找,能命中吗?(最左匹配原则)
- 说下Java内存模型
- 说下GC回收算法(标记清除、标记复制、标记整理、分代收集)
- 说下分代收集的原因是什么?
- 标记清除和标记整理的区别?
SQL:
- 找出没有学过张三课程得学生
- 找出数学分数小于60分的每个学生的平均分
奇点云Java一面(2022.12.14)C轮
- *************
- 说下Java中线程池的原理,7个核心参数
- 说下workQueue常见的实现有哪些?
- 从JMM角度讲一下线程不安全的问题
- 看过Reentrantlock的源码吗?讲一下底层实现
- Java的多线程之间的通信方式
- Mysql异常宕机后,数据一定丢失吗?(redolog)
- 什么情况下会丢失?(操作都是基于内存的,没有刷盘的时候宕机了,会丢失)
杭州默安科技Go一面(2022.12.14)D轮
- 说下Go的map底层实现(关键点:数据结构、渐进式rehash)
- 说下Go的协程和线程的区别
- 说下进程之间的通信方式
- 用go做过信号捕捉吗?(优雅下线使用,SIGTERM和Ctrl+C)
- 说下go什么时候发生协程切换(系统调用、select阻塞时、channel阻塞)
- 说下Pod的创建流程(说的不好)
- 说下Docker进程间隔离的技术(Namespace)
- 说下常见的Namespace(不会,网桥、内核协议栈)
- 说下K8s网络隔离的原理(不会)
- 说下informer的原理
- linux怎么查看进程
- 说下linux的常见命令
- 说下OSI七层模型
- 说下TCP的特性(超时重传、滑动窗口、流量控制、拥塞控制)
- ip查mac地址是什么协议?(ARP)
- 说下https的握手流程(对称加密、非对称加密)
- 说下红黑树的特点
- 说下B+树,为什么Mysql选择B+树
深度赋智Python一面(二面忘录屏了)
- K8s service和deployment区别
- 服务部署在K8S上,请求进来,中间经历了哪些环节?
- Dubbo传1M数据,时间多少?
- 部署在k8s上的服务性能损耗?
- 一个Pod能部署多个容器吗?
- Service mesh下服务的损耗?
- Redis主从模式和集群模式的区别
- Redis每秒读写速率?
- Redis的pipeline?
- Go channel是先进先出还是先进后出?
- 进程、线程、协程的基本区别
- Golang对协程做超时的控制有哪些方式?
- 说下waitgroup
- 说下sql的执行顺序
- K8s的NFS有了解过吗?
- 为什么用rabbitmq?不用kafka
- Docker image的实质是什么?
- docker镜像的优化有哪些方式?
还有几个面试忘录屏了...
待遇汇总:
- 德胧集团 Java 300/天深圳 或 250/天杭州+三餐
- 奇点云 Java 4000杭州(这个给的有点离谱)
- 安托盟丘 Java 7200/月 杭州(后续谈到了400/day,还在考虑中)
- 数预智能 Java 4400/月杭州
- 光环有云 区块链 8000/月北京(条件offer,需通过雅思8.0/托福85才能发正式薪资,前期报销学英语费用,确实没精力,拒了)
- 深度赋智 Go/Python 7000/月深圳
#日常实习##面经##Java##Go#