截至目前为止:
- 百度面试官已经联系,希望能够顺利过去。
- 滴滴,大概率凉了,三面截止没有音信.
- 美团,三轮面试结束,面试官说北京和上海选。等通知
- 字节,三轮面试结束,官网已完成,估计横向比较中
- 腾讯,21号开始面
- 阿里,一面结束,等待二面联系中
- 小米,约的下周三二面
- 用友,hr面等待联系
- 远景,hr面等待联系
- 陌陌,hr面等待联系
- b站,等待二面联系
- 诺瓦,hr面等待联系
百度一面(7.28)
一、自我介绍?
二、技术栈相关方面询问?
三、实习做的事情?阐述一下实习的收获?技术的提升?模块设计图的设计划分等?
四、hashmap为什么线程不安全?什么情况下死锁?
五、go和java相比,为什么支持更高的并发?实际上这道题就是问java中的线程和go中线程的区别?
六、Linux相关命令。查看日志中某一个时间点之后的日志信息?
七、算法题:①链表的倒数第k个节点;②整数翻转
八、虚拟内存和物理内存讨论?
九、进程和线程和协程之间的区别?java中的线程是内核态的线程吗?(实际上这里有个坑,java中的线程其实不属于严格意义的内核态线程,虽然其具备用户态和内核态之间切换的特征,但是用户也可以通过程序控制)
十、设计模式相关?策略模式和模板方法模式?访问者模式?门面模式?
十一、手写一下单例模式
百度二面(7.30)
一、算法题:找数组中和为目标值的元素集合,每个元素可以重复进行使用
二、讨论MySQL?包含其页的格式?B+树和B树?事务?索引优化?MySQL的体系结构?等
三、选择操作系统的一个点和面试官battle?个人选了CPU这一块?讨论了CPU的架构?由单批道处理到多进程演化?进程切换?为什么需要调度算法?进程通信?进程之间地址隔离?进程同步?死锁等等
四、讨论了一个开放性问题:是不是计算机通过加核的方式以及其它所有硬件资源都无限制就可以解决无法处理的任务?
百度三面(8.1)
三面基本没有太多技术性问题,偏向于综合性测试。不过个人觉得百度的三面问题有值得参考的地方?
一、自我介绍?
二、项目中的难点?解决方式?为什么选择这种解决方式?
三、个人性格总结?三个词概括?(这种问题hr面中经常会问到,对于这个问题尽量说一下自己经历中的透露出的闪光点,避免面试官问你怎么体现这个优点)
四、对于工作的选择考虑哪些?
五、自己的优势?自己的劣势?(对于这个常见的问题,大家切记尽量把所谓的劣势变成自己的优势,例如强迫症想把工作搞好导致可能有点拖延哈哈)
六、三个场景题(处理同事关系的):①如果你是leader,你会选择什么样的人带?②你和A对接需求,给A发送消息A迟迟没有回复,最后两天回复并且要求加需求,你怎么办?③张三、李四,其中你感觉张三比你弱,李四比你强,但是年终两人都晋升了你没有晋升,你会怎么处理?
七、聊人生理想?
八、反问?
百度面试总结:百度面试整体来说难度不大,但是对于问题要切记合理回答!
滴滴面试(之前写过面经,这里就不再重复了)
字节一面(7.28)
一、算法题:不重复数字数组的全排列,复杂度分析?
二、hashmap是不是线程安全的?为什么?扩容2^n为什么?
三、说一下Java中的锁?Synchonized和Lock?Synchronized在操作系统层面知道是什么样的结构吗?AQS?
四、Spring AOP的底层设计模式?什么区别?
五、拆包粘包
六、MySQL的联合索引?Explain看哪些字段?怎么去优化一个慢SQL?
七、HTTP和HTTPS,HTTPS的加密过程?为什么对称+非对称?
八、反问?
字节二面(8.9)
一、自我介绍?
二、实习做的事情?收获等?
三、LinkedHashMap和HashMap的区别?HashMap死锁?
四、线程安全的Map,区别?
五、线程池的参数?为什么要有最大线程数?为什么要有阻塞队列?
六、线程池的参数怎么设置?
七、JVM内存分区?堆上分配和栈上分配?为什么栈上分配?
八、MySQL的存储引擎?InnoDB,Archive,Memory什么场景下使用什么?
九、联合索引?索引优化?索引失效?为什么失效?
十、redis高性能原因?select,poll,epoll,基本数据结构,sds?用过哪些,怎么用?
十一、redis的持久化机制?rewrite aof?哨兵和集群?哨兵的领头哨兵选举和主redis选举?raft协议?
十二、算法题:重建二叉树+右视图
十三、3L和5L水杯取4L水,找最优解?
十四、下半年打算?职业规划?反问?
字节三面(8.12)
一、自我介绍?
二、实习项目收获和提升?
三、协程和线程?栈空间大小?go中读取文件会阻塞吗?java中呢?java是怎么实现的?
四、输入一个URL?操作系统做了什么事情?Socket过程描述三次握手?close_wait状态过多原因?
五、sql书写?
六、算法题:K个一组链表翻转(这个真是喜欢考)?
七、系统设计题:设计一个消息系统?保证其高可用,高可靠等?同时考虑一下衡量消息系统的性能指标?
八、反问?
字节面试总结:挖的比较深!主要是看技术的深度!广度询问倒是还好。其次算法题一定要刷!
美团一面(8.15)
一、自我介绍?实习项目?
二、ConcurrentHashMap?TreeSet和HashSet?ArrayList和LinkedList?几种数据结构底层区别?
三、栈和队列的区别?
四、浅拷贝和深拷贝?实现?
五、Java中的异常?Error有哪些?Exception有哪些?
六、Java内存模型?JMM
七、JVM内存模型?young gc和full gc
八、Spring IOC和AOP?
九、线程池参数?线程的几种创建方式?Runnable和Callable区别?知道线程池类似于哪种设计模式吗?拒绝策略?
十、MySQL的存储引擎?索引?锁?事务?写三个SQL?
十一、Linux命令?查找文件中美团二次出现的次数?kill -9和kill -15 应用场景?查看某个端口是否被占用?netstat是用来干什么的?关闭服务器命令?查找服务器大于100M的日志并且删除?
十二、单例模式?手写一下?
十三、算法题:平方根,精度0.01?
十四、约了一下二面时间
美团二面(8.16)
一、自我介绍?如何学习Java?
二、最近在看什么书?
三、工厂方法模式和抽象工厂模式的区别?策略模式和两者又有什么区别?
四、HashMap扩容?JDK7存在的问题?
五、redis底层数据结构?高性能原因?自定义的一些数据结构?高可用即哨兵和集群?数据结构应用场景?
六、Spring IOC和AOP?代理模式的几种不同类型?
七、MySQL相关知识?索引?前缀索引长度选择?反范式设计?自增主键?UUID,分布式雪花算法ID?
八、XSS攻击和CSRF攻击?OPTIONS预请求作用?
九、算法题:两个无序链表合并成为一个有序链表·?
美团三面(8.18)
一、自我介绍?实习项目?
二、目前在线的项目?
三、面试官介绍部门整体业务?大概做美团基础研发这一块内容?
四、反问了一下:进去具体做什么事情?负责什么业务线?
五、算法题:相对路径转换为绝对路劲
六、系统设计题:两个MQ A,B用来将消息发送给接收方?要求发送消息的时间额小于5ms(大概这个值)?作为中间程序应该怎么做?考虑使用所有现存的中间件?
七、你觉得Java的虚拟机是个什么样的东西?
八、浅拷贝和深拷贝?深拷贝的实现方式?
九、给一个刚学习Java的人介绍一下Java中的泛型?从其初衷?目的?作用?优势?劣势等?
十、介绍一下Java中的注解?编译时注解?运行时注解?底层怎么实现的?class文件中会不会有相关信息?
十一、Java中的线程状态?死锁的必要条件?怎么解决死锁?怎么查看?
十二、询问了一下实习时间?地点?坚持的最久的一件事情?工作中受到委屈怎么处理?家庭情况等?
美团面试总结:整体来说,每一面的面试时间都非常长,楼主基本上每一面都在90min左右。最主要还是考察基础和思考问题的能力?
用友SP面经(之前有写过,这里就不再赘述了,之后hr面之后补充)
远景一面(8.14)
一、自我介绍?家乡?学校?论文?
二、线程安全问题是指什么?
三、java中锁有哪些?
四、MySQL中的幻读是什么情况?举例说明
五、MySQL中的锁有哪些?
六、TCP报文内容?HTTP报文内容?
七、场景题:账户转钱?代码层面怎么做?视图触发器怎么用?如果给多人转钱呢?
八、装饰者模式?
九、反问?
远景二面(8.16)
一、自我介绍?实习相关?
二、MQ在秒杀场景做什么?具体说一下解耦?没有MQ之前可以怎么做呢?
三、创建线程的几种方式?线程池的好处?
四、网络相关?了解的框架?rpc说一下?
五、跨域问题?为什么有跨域?怎么解决?
六、反问?
远景面试总结:整体难度不大。都是一些常规性问题
陌陌二面(8.17)
一、自我介绍?实习?
二、JVM内存分区?栈的组成?局部变量表在哪个阶段填充?
三、int[10][1000]和int[1000][10]哪个占据内存空间大?
四、MySQL存储引擎?select * from test where age<10 for update?
五、反问
陌陌面试总结:一面没有进行整理记不清了。不过一面需要做题。二面整体来说考察基础知识较多?
整体面试的一些建议:
①一定一定要有礼貌。有礼貌给别人的第一感受和没有礼貌是非常不同的。面试礼仪一定要做到。这一定非常重要
②多和面试官交流。不懂的点可以问,千万不要尬住
③计算机网络和操作系统非常重要。但是楼主认为在面试的过程中和准备过程中操作系统更加更加重要。因为操作系统更贴近于工程!本身就是一个系统,对内考虑到了计算机,对外考虑到了用户。学通了操作系统,很多实际工程中的问题都会有思路!例如缓存,操作系统的体现就非常多。寄存器,缓存行,内存等等都是体现。而这些体现用在我们数据库实际工程中的各个方面,例如数据库的缓冲区,实际工程中用到的redis!只有把这些基础知识融会贯通了,才能够面对提出的问题有思路
④一定要先面一面小公司找找感觉!不要上来直接莽!
⑤一定要做好面试复盘。例如面试的时候可以录一下屏,面完及时的进行不会的知识的补足!
之后整体面试完,再进行面经的补充
面试回答不好的问题,希望大佬能解答一下,万分感谢啦!
两个MQ A,B中存储接收到消息,消息有可能丢失,但是A,B肯定是消息的全集,保证每次发送消息的间隔时间在5ms内。设计一个程序,程序将A,B中的消息交由下游,考虑到所有能用到的中间件,怎么保证消息的可靠性(消息的不错,不漏),系统的高可用性,消息的有序性等?
全部评论
(16) 回帖