前言:
眼前看官们对“java后端接收对象”大概比较看重,姐妹们都想要分析一些“java后端接收对象”的相关知识。那么小编在网上汇集了一些有关“java后端接收对象””的相关知识,希望各位老铁们能喜欢,大家快快来了解一下吧!在面试的过程中,我略带紧张,但是通过这次机会,我认识到了自己的不足和提升空间。同时也看到了众多优秀的候选人和专业的面试官,深感荣幸能够参与其中。
我相信这次面试是我职业生涯中重要的一步,我会持续学习和进步,提高自己的技能水平,为未来的发展打下坚实的基础。虽然说这次面试已经收到offer,运气也是占有大部分吧,但自身感觉自己的技术储备还是差点意思。需要提升的地方还是有很多。
下面是我面试后回来总结归纳的一些面试官问的知识点以及问题。希望有更多的小伙伴加入到字节中共事。虽然加班有点严重,但薪资高呀,它香啊,是不是,嘻嘻嘻~~~~
字节一面
自我介绍。计算机网络TCP的三次握手,UDP和TCP的区别。知道的排序算法,以及复杂度。两个1G排好序的文件,按序合并。二叉树层序遍历输出,每一层输出数组(手写算法)。数据库索引,多级索引。LINUX进程与线程区别,进程间怎么通信,linux查询进程命令,怎么查询进程状态,线程IO,LINUX命令。一个数组获取最大的k个数,大顶堆,排序。SELECTED?IO?不清楚这个,没听过。MySQL的行锁的实现原理Redis发生主备切换会出现什么问题?kafka的优势和发送过程?jvm的垃圾回收算法?类加载机制 双亲委派spring aop 的原理 jdk、cglib实现的区别ioc的原理Spring 循环依赖问题用过的中间件redis常用场景redis锁 为什么lua脚本删除?分布式id,如何生成,使用redis自增序列号有什么风险?redis缓存问题, 缓存穿透 击穿 雪崩 ,如何解决缓存穿透加锁 何如加锁,会出现什么现象,a加锁时,b线程会发生什么?算法题,同股票交易问题。oracle mysq的区别(我们用的oracle)mysql 慢查询 怎样优化,索引加哪些列,什么工具分析慢查询事务的隔离级别如何保证的可重复读?MVCC怎么保证的可重复度redolog
字节二面
从自我介绍出发问些相关问题,过往项目、如何学习?数据库索引,索引失效,B+树与hashmysql 事务、mvccredis 那些数据类型,zset 原理解决过那些问题,最难的是那些?如何定位?线程池有哪些,配置、原理;要实现一个使用最大线程数的线程池。hashmap 扩容机制,为什么要在0.75的时候扩容;hashmap 是线程安全的吗?为什么?ArrayList、LinkedList 区别、原理;ArrayList 扩容说说JVM 、gc root,为什么要有gc root?场景:某个服务调用压力大,设计一个服务实现限流、缓冲。对象一定分配在堆栈对象不一定分配在堆上,JIT可以实现栈上分配JMM内存模型 原子性,可见性,有序性如何保证 工作内存与主内存 volatile,重排序举例synchronized和Lock的区别synchronized内部实现,偏向锁,轻量锁,重量锁 为什么需要自旋?HashMap,HashSet,TreeSet,ConcurrentHashMapSpring事务是怎么实现的?类加载机制?双亲委派机制 自定义了一个String,那么会加载哪个String?HTTPS和HTTP区别?非对称加密有哪些缺点?XSS和CSRF攻击NIO,Linux网络IO模型五种Redis持久化MySQL隔离级别,一致性视图,undo log,redo log和binglogMySQL索引结构,回表,最左前缀原则不使用第三个变量交换a和b的方式算法题一:a+b+c=0算法题二:链表倒数第N个节点
字节三面
介绍一下做过的项目,哪些挑战性比较大,比较有难度的IM项目怎么用Netty的,为什么要用Netty,长连接交互是怎样的消息怎么存储,怎么发送,怎么知道消息已读和未读的读了5条消息、又来5条消息,你是怎么去更新的,你的消息是幂等的吗?项目里怎么用ES的,ES怎么支持搜索的技术论坛网站的评论是怎么存储的查询评论是在DB里扫表查询吗?怎么展示所有的评论?性能如何?想要查询更快可以做哪些优化?结合缓存和DB的时候会出现哪些问题?要怎么解决?有研究过哪些算法?CAP理论的理解如何设计实现中国象棋?如何设计一个排队系统?平时都是怎么学习的?最近都在关注哪些技术?为什么?项目技术点,学到了哪些?也要具体知识点。MySQL中为什么是最左前缀?有没有接触过一些自动熔断工具502可能的原因有哪些?线上问题怎么排查?Full GC频繁怎么办?服务的QPS,数据库的架构和版本。SpringBoot的优缺点分析SpringBoot的启动源码分析服务的部署方式?volatile原理和作用什么是指令重排序,举个例子AQS原理JVM内存模型类加载过程双亲委派机制介绍代理模式redis数据结构HTTP状态码,headerMVCC原理算法题:按照之字形分层遍历二叉树,要求bug free,并且构造二叉树进行测试。算法题:给一个数组,建一颗最小高度的二叉树(递归和非递归)算法:买股票无限次;买股票只买一次;买股票有手续费;买股票最多买两次
HRBP面试:
自我介绍为什么在看机会呢?在看什么类型的机会呢?为什么看头条的机会?你觉得头条是一家什么样的公司?朋友同事如何评价你?平时都有哪些兴趣爱好呢?在原公司最享受的阶段是什么时候?为什么你对我们的业务方向了解吗?你对我们的业务方向和技术感兴趣吗?
面试前准备
1. Java基础知识:字节跳动是一家技术驱动的公司,对Java基础知识的要求非常高。需要对Java语言的基本概念、语法、面向对象编程等有清晰深刻的理解,熟练掌握Java核心类库及其他常用类库的使用。
2. 熟悉开发工具和常用框架:熟练掌握主流的Java开发工具,如Eclipse、IntelliJ IDEA等,熟悉常用的Java框架,如Spring Boot、MyBatis等,并且能熟练运用这些工具。
3. 深入理解算法和数据结构:字节跳动注重应聘者的算法和数据结构能力,因此需要深入理解并熟练掌握各种算法和数据结构,并能够灵活地在实际问题中运用这些算法和数据结构。
4. 注意常见的面试题:字节跳动对Java开发面试的考察比较全面,会考察一些比较经典的Java面试题,如单例模式的实现、HashMap的实现原理、线程池的使用、JVM内存管理等等。需要做好这些面试题的准备,有充分的解决方案和深入的思考。
5. 有实际项目和代码经验:字节跳动更加注重应聘者的实际项目和代码经验。因此,在准备面试时,建议通过自己的项目经验进行深入的讨论和交流,并能表达清晰的思路和解决方案。
除了以上的技术准备外,还需要注重细节和面试技巧。在面试中,要注意细节,掌握一些面试技巧,例如注意听清问题意思、避免东拉西扯、掌握言语简洁、条理清晰的口头表达技巧,以及掌握思维逻辑和反应速度等面试技巧。
以上就是字节面试题的总结以及面试都需要准备那些内容,希望对大家有所帮助喽~~~
为帮助开发者们提升面试技能、有机会入职BATJ等大厂公司,特别制作了这个专辑——这一次整体放出。
大致内容包括了: Java 集合、JVM、多线程、并发编程、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat等大厂面试题等、等技术栈!
欢迎大家关注公众号【Java烂猪皮】,回复【666】,获取以上最新Java后端架构VIP学习资料以及视频学习教程,然后一起学习,一文在手,面试我有。
每一个专栏都是大家非常关心,和非常有价值的话题,如果我的文章对你有所帮助,还请帮忙点赞、好评、转发一下,你的支持会激励我输出更高质量的文章,非常感谢!
标签: #java后端接收对象