转转

收藏
消费生活
1000-9999人
A轮
北京

0

在招职位

27

面试经验

0

真题试卷

查看官网
上传简历
此刻你想和大家分享什么
职位类型
全部
后端开发
产品
最新
热门
09-11 23:18
已编辑
门头沟学院 Java
自我介绍————1. 短链接项目中创建接口为什么用布隆过滤器?不是有误判的可能性吗,如何保证数据的正确性?高并发场景怎么解决的?    - 布隆过滤器判断不存在的时候是完全准确的,而判断存在的误判率通过对布隆过滤器参数的配置可以降到一个很小的可接受的范围内,在系统不受攻击的情况下使用MySQL数据库的唯一索引作为兜底,如果创建成功的短链接进入数据库持久化时报唯一索引错误,此时执行事务回滚即可。如果同一个链接被高并发地创建,则此时由预防缓存穿透的逻辑解决,首次查询之后Redis会存储空对象,这样之后的请求不会全部打到数据库。2. AQS是什么?【简历写的,其实没答太好】    - 全称是AbstractQueuedSynchronizer,是在JUC包中定义的,内部属性包含有一个int变量一个同步队列,作用是作为一个接口提供锁的通用实现机制。(后面胡扯绕了半天也没说点啥3. 介绍一下HashMap;为什么HashMap不支持多线程并发?HashMap如何解决Hash冲突?ConcurrentHashMap如何实现的?    - 经典八股,说的八九不离十,扩容和红黑树、node数组加锁都提了4. 事务的隔离级别?可重复读是如何实现的?    - 说了读写锁和共享锁,一些当前读和快照读的理解,第一条select执行快照读创建Read View快照,此后的select都访问该快照,但如果执行update语句时,则会执行当前读,一定会去读最新的数据5. 算法:打家劫舍Ⅱ    - 最开始用注释写了个状态转移方程,因为首尾相接不好统一处理,卡了半天    - 面试官提示可以分两种情况,确定偷第一家或者确定不偷,这样不用做统一处理。然后我开了两个dp数组写了一坨答辩代码,    - 面试官说勉强算解决了,提出状态转移方程其实只涉及到了dp[n-2] dp[n-1]和dp[n]三个变量,其实可以用滚动方法优化空间复杂度,我说这个我明白,然后写了个封装函数robRange(int[] nums,int l,int r)把之前的逻辑整合简洁了一些,用上了滚动数组,主函数直接return Math.max(robRange(nums,0,n-1),robRange(nums,1,n));这样又写了半天,算法全过程总共墨迹了十几二十分钟    - 面试官又提示了各种代码细节问题,比如函数返回值没写,有些地方复制的时候没改完美,总算是兜兜转转弄了一份完整代码。    - 后面反问环节:我问了一下“刚才算法那块我感觉我写的有点烂,不知道您怎么看”,面试官说,这个其实就是刷的多就会,刷的少就不熟,我看你刚才反应也还算快的,多练就好。6. 场景代码题: Ⅰ. 单例模式示例代码如下,有哪些问题?----------------------------------------------------public class Singleton {    static Singleton instance;    private Singleton() {    }    static Singleton getInstance() {        if (instance == null) {            synchronized (Singleton.class) {                instance = new Singleton();            }        }        return instance;    }}------------------------------------------------------        - 其实有一堆问题,但是我只说了最明显的:只用了一层检查锁,首次进入的时候可能多个线程进入if块内创建多个单例        - 面试官:这个地方用volatile修饰会怎么样?引导之后我说了一些使用volatile的优点,然后继续问“这样就行了吗”,我说看不出来什么问题了,结果给我讲了1分钟使用new关键字和指令重排序方面的知识,我全程点头啊对对对,不知所措(----------------------------------------------------------------------- Ⅱ. MySQL事务场景题--------------------------------------------------CREATE TABLE t (    id INT PRIMARY KEY,    k INT);INSERT INTO t (id, k) VALUES (1, 1), (3, 3);T A;UPDATE t SET k = 3 WHERE id = 1;COMMIT;T B;SELECT * FROM t WHERE id = 1;UPDATE t SET k = k + 1 WHERE id = 1;COMMIT;-------------------------------------------------- 问:事务A在commit之前因故阻塞了,在事务B的update语句前提交了,问此时事务B提交后id=1的k是多少? 答:B事务提交完成后,此时k=4,因为update语句是当前读,事务A的提交对于B的update是可见的,所以相当于id=1的k先被修改事务A为3,事务B执行自增后变为4------------------------------------------------反问:  公司主营业务是什么?  刚才代码感觉敲的不好,问题大吗?#日常实习#  #面经# #Java# #MySQL#
双飞鼠鼠不会梦到大厂offer:现在小厂都算法,场景了么
查看7道真题和解析
点赞 评论 收藏
分享
06-13 20:05
已编辑
北京邮电大学 Java
我是22届的,三月份裸辞,离职后玩了一个多月,四月份开始投简历,面试了二十几家公司吧,说说我遇到的恶心的面试官,1,字节跳动,一面挂,面试官很恶心,拿着操作系统和计算机网络,问里面的一些概念,简历上写的一些分布式技术问了几个后感觉他听的不太明白,直接挂了,最后我问他我面试的部门是干啥的,其实是个打杂的部门2,百度 一面挂 也是面试官对着面试题问一些很偏的技术,问到mq,我说rocket相比Kafka更安全一些,他说我说的不对和他争吵起来了,后面有问到jvm调优,他说对象在新生代的创建是按照线程隔开的,我不太认可,我觉得这个和jvm调优无关,也和他争吵起来了,结果可想而知,直接挂了。3,腾讯二面,面试官也是,我说我用线程池,es,现场异步编排优化接口,他听不明白,不断重复我的话,最后他说我态度不好,直接挂了4,京东,面了两轮,面试官说我讲的很好,结果没有后文,然后同一部门捞起来继续面,又面了三轮技术面,也没说我面的不好,问的都答上来了,到现在也没等到回复5,然后是拼多多,三轮面试,已经 oc6,滴滴,客服部门,面试官,我第一次见到面试时面试官说的比我还多,不知道他要问啥,每个问题说一堆,我不知道再考察啥7,后面的转转二面,度小满二面,终止流程8,还有其他机会就不说了,面了二十家左右。 #Java# #Java工程师#
空壳_:点了,有些面试官是真恶心,全程自说自话否定别人
查看3道真题和解析
点赞 评论 收藏
分享
1⃣️做自我介绍我磕磕绊绊大概讲了一下自己的经历,忘记分类了,老是“然后然后”,“还有就是”…..可以把自己的介绍分成基本介绍、项目经历、校园经历、技能证书。加入衔接词,例如首先,其次,最后等。这是表达能力和逻辑能力体现的地方,留给别人的初印象。2⃣️着重问我的项目经历1.你的职责是什么,你认为负责人是一个什么样的角色?2.你们项目的调查问卷的到了哪些结论?3.作为领导者,你平时是如何分工的 举个例子4.你认为你的项目所在的行业情况是怎么样的?你跟竞争对手相比有什么创新之处?5.讲讲最近项目一个很大的成功或者提升让你很骄傲的事情3⃣️关于转转的行业1.你认为转转是做什么的2.你认为产品经理是做什么的3.你认为转转跟咸鱼有什么样的区别4.你最常用的购物软件是什么 你认为他有什么样的优势他跟京东相比有什么样的优势或者劣势?我提的问题1. 您认为,您需要实习生给这个岗位带来什么价值?2. 工作的氛围是怎么样的?3. 如果有幸通过,后续需要面试么还是..感悟:  突然感觉自己还很浅,觉得自己能力不够。        今天转转的面试官明显跟之前我面试的所有公司不一样,他更加正式,专业,有深度,有能力,有想法,是一个很优秀的人。  第一,他特别会提问,他可以抓住你讲的东西问出一个相关的值得思考的问题。  第二,他逻辑思维很棒,表达能力很强。看整个面试,他有条理和逻辑顺序层层递进分门别类地提问我,掌控整个面试节奏。看细节,他在描述一个事情的时候,有自己的框架。  第三,他给了我很多建设性的建议,比如调查问卷结果分析的方向有哪些,需要带着目的去做。比如推荐我去看《金字塔原理》这本书,提升表达逻辑能力。  能进到一面已经是我的进步了,通过一面我接触到了更优秀的人,反省到自己还有很大提升的空间,我还获得了些很有价值的经验,这些已经够了。我会继续加油的!
投递转转等公司10个岗位
点赞 评论 收藏
分享
2023-03-29 14:47
已编辑
门头沟学院 Java
面试整体面试岗位是北京转转精神科技公司,时长50min左右,面试体验很不错,跟面试官聊得很舒服。面试问题自我介绍讲一下你最熟悉的项目;共享屏幕,查看数据库的表结构,问索引,如何优化;查看项目评论模块的代码,问评论的回复名称,如果用户改名字了怎么办?确实没想到这点,回答只能把所有评论都修改一遍;linux了解嘛?如何查看文件?如何查找文件中的某个字段?什么是full gc?如果发生full gc,如何排查?回答从内存溢出,线程池阻塞队列过多,线程是否死锁等方向排查;jvm排查的命令有哪些?回答了jstack,jmap;eden,s1,s2比例是多少?如果比例是8:2:1可以嘛?会出现问题?分布式...
AI牛可乐:回答: 1. 自我介绍:介绍了自己的基本情况和工作经验,重点讲述了最熟悉的项目,包括项目的功能、技术栈、自己在项目中的角色和贡献等。 2. 数据库优化:介绍了如何查看数据库的表结构和索引,以及如何优化。重点强调了索引的作用和优化方法,包括使用合适的数据类型、避免使用不必要的索引、优化查询语句等。 3. 评论模块代码:介绍了如何查看评论模块的代码,以及如何处理用户改名字的情况。回答了只能修改所有评论的方法,但也提出了可以在数据库中添加一个映射表的建议。 4. Linux:介绍了如何查看文件和查找文件中的某个字段,以及什么是full gc和如何排查。重点强调了内存溢出、线程池阻塞队列过多、线程死锁等问题的排查方法。 5. JVM:介绍了jstack和jmap命令,以及eden、s1、s2比例的作用和合理比例的选择。重点强调了根据具体情况选择合适的比例,并介绍了可能出现的问题。 6. 分布式锁:介绍了分布式锁的使用方法和超时处理,以及超时时间的选择。重点强调了超时时间的合理选择,避免锁过期或等待时间过长的情况。 7. 排序算法:介绍了常见的排序算法,包括冒泡排序、选择排序、插入排序、快速排序等。选取了快速排序作为介绍的算法,介绍了其原理和实现方法。 8. 二分查找:介绍了二分查找的原理和实现方法,包括如何处理有序数组和无序数组的情况,以及如何处理查找不到的情况。 9. MQ:介绍了了解的MQ产品rocketMQ,但没有继续深入问下去。 10. 数据库索引:介绍了数据库索引的作用和优化方法,以及B+树和B树的区别和为什么使用B+树。重点强调了B+树的优点,包括支持范围查询、有序遍历等。
查看11道真题和解析 投递转转等公司10个岗位 > 你觉得今年春招回暖了吗
点赞 评论 收藏
分享
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客企业服务