第二个外卖项目直接可以去掉,项目是自己越了解越好,第二个太简单了反而是减分项,第三个你也太老实了,名字都不改,肯定要自己包装过的,而且项目不是这么写的,你这样写很宽泛,利用什么xxx做xxxx,那面试官什么都可以问了,你会Redis,Nginx,那我问底层方面,岂不是铁G了,你这题目给的太广,导致面试官问的东西会很多,不如自己写的小点,到时候面试的时候猜中的题的可能性会高很多,还有你这个简历很丰富,那感觉不舒服啊,太多了,而且字体和排版很问题,你可以想象自己是面试官会怎么做,最好多看看别人的优秀简历,当然前提是自己有技术能力的情况下。
8 1

相关推荐

05-23 15:16
已编辑
门头沟学院 Java
1,缓存架构?答:讲了一下redis在项目中的具体实现注:其实面试官想问的是多层架构2,redsi缓存击穿,穿透,雪崩怎么解决?答:击穿可以通过设置热key永不过期穿透可以使用缓存空值和布隆过滤器来解决雪崩可以通过给键设置基础时间值+随机时间值来解决注:缓存击穿还可以还通过互斥锁进行解决(性能较低)关于雪崩上面只说了大量key过期的问题 没有提到redis宕机解决方法:(1)设置多层架构 (2)建立redis主从或集群(3)提前演练redis宕机 从而设计解决方法3,大量不存在的用户同时登录时会给数据库造成压力,怎么解决?答:使用redis缓存空值注:缓存空值不能有效解决这类缓存穿透问题这里要使用布隆过滤器进行拦截 更加有效在实际业务开发中最好俩者结合使用4,jwt?答:说了一下jwt的生成和解析以及结构5,讲讲乐观锁和悲观锁答:讲了一遍sychronized的底层实现从无锁->偏向锁->轻量级锁->重量级锁这里轻量级锁就是乐观锁 重量级锁就是悲观锁6,乐观锁和悲观锁最主要的区别?答:在低并发场景下乐观锁性能好在高并发场景下悲观锁性能好注:乐观锁是认为操作的时候没有线程和我并发操作通过cas判断 不会让你的线程挂起 可能会不断自旋去尝试获取锁悲观锁是认为有线程和我并发操作 拿不到锁线程就会进入阻塞状态直到拿到锁的线程释放锁后唤醒该线程7,sychronized和reentrantlock有什么区别?答:sychronized由jvm释放锁 reentrantlock手动释放sychronized不可重入 reentrantlock可重入(避免死锁)注:这里答错了sychronized可重入 他们的主要区别在于sychronized不支持公平锁,不支持超时不可中断,不支持多条件 sychronized是java内置的关键字 reentrantlock是由juc类库所提供的8,aop怎么理解?这里答的太乱了不清楚注:把那些非核心功能抽取出来封装成一个切面去掉冗余代码通过动态代理的方式 将需要注入切面的对象进行代理在进行调用的时候直接将公共逻辑注入 侵入性较低1,缓存架构?答:讲了一下redis在项目中的具体实现注:其实面试官想问的是多层架构2,redsi缓存击穿,穿透,雪崩怎么解决?答:击穿可以通过设置热key永不过期穿透可以使用缓存空值和布隆过滤器来解决雪崩可以通过给键设置基础时间值+随机时间值来解决注:缓存击穿还可以还通过互斥锁进行解决(性能较低)关于雪崩上面只说了大量key过期的问题 没有提到redis宕机解决方法:(1)设置多层架构 (2)建立redis主从或集群(3)提前演练redis宕机 从而设计解决方法3,大量不存在的用户同时登录时会给数据库造成压力,怎么解决?答:使用redis缓存空值注:缓存空值不能有效解决这类缓存穿透问题这里要使用布隆过滤器进行拦截 更加有效在实际业务开发中最好俩者结合使用4,jwt?答:说了一下jwt的生成和解析以及结构5,讲讲乐观锁和悲观锁答:讲了一遍sychronized的底层实现从无锁->偏向锁->轻量级锁->重量级锁这里轻量级锁就是乐观锁 重量级锁就是悲观锁6,乐观锁和悲观锁最主要的区别?答:在低并发场景下乐观锁性能好在高并发场景下悲观锁性能好注:乐观锁是认为操作的时候没有线程和我并发操作通过cas判断 不会让你的线程挂起 可能会不断自旋去尝试获取锁悲观锁是认为有线程和我并发操作 拿不到锁线程就会进入阻塞状态直到拿到锁的线程释放锁后唤醒该线程7,sychronized和reentrantlock有什么区别?答:sychronized由jvm释放锁 reentrantlock手动释放sychronized不可重入 reentrantlock可重入(避免死锁)注:这里答错了sychronized可重入 他们的主要区别在于sychronized不支持公平锁,不支持超时不可中断,不支持多条件 sychronized是java内置的关键字 reentrantlock是由juc类库所提供的8,aop怎么理解?这里答的太乱了不清楚注:把那些非核心功能抽取出来封装成一个切面去掉冗余代码通过动态代理的方式 将需要注入切面的对象进行代理在进行调用的时候直接将公共逻辑注入 侵入性较低不想写了 直接把问题都扔出来吧 java线程池的七个参数?1. Java线程池,5核⼼、10最⼤、10队列,第6个任务来了是什么状态?任务扔到⼯作队列中2. 如果在第6个任务过来的时候,5个核⼼线程都已经空闲了呢?⼀样扔到队列(线程池只关注数量)3. 第16个任务来了怎么处理?创建⾮核⼼线程去处理第16个任务4. 第16个任务来了的时候,要是有核⼼线程空闲了呢?如果这个空闲的线程,将⼯作队列中的10个任务,取⾛了⼀个,变为了9个,那任务扔队列。如果空闲的线程还没来得及取⾛任务,投递时,队列⻓度依然为10,那还是创建⾮核⼼。5. 队列满了以后执⾏队列的任务是从队列头 or 队尾取?⼀般咱们的阻塞队列都是FIFO的,所以先进先出,从头取。6. 核⼼线程和⾮核⼼线程执⾏结束后,谁先执⾏队列⾥的任务?谁空闲了,并且去等待任务,谁先去执⾏队列⾥的任务。7.为什么⾮核⼼优先执⾏投递的任务?8.核⼼线程与⾮核⼼线程有什么区别?9.MySQL中如何实现数据的读⼀致性?10. MySQL的InnoDB引擎是如何通过⽇志实现事务的?11. MySQL崩溃恢复为什么不⽤binLog?12.Redis的事务了解吗?13.Redis 的持久化机制?总结:对底层的理解还是不够深入 之前没有了解过redis事务 有的时候答非所问容易跑题
点赞 评论 收藏
分享
05-21 23:45
门头沟学院 Java
  想了很久要不要把这事发到网上,毕竟我这例子不太常见,对大部分人来说没什么参考价值。最后决定还是发出来给有相同经历的看看吧。  本人是一名专升本的学生,升本是因为专科找不到好工作,结果本科毕业发现专升本还是难找工作,当时经常在网上冲浪看到说互联网不卡学历,工资又高,只是比较辛苦罢了,当时我一想还有这么好的专业,我土木老哥还怕吃苦吗,于是决定跨考计算机研究生,当时一想考研就考个好点的学校吧,最后也是成功上岸985。  我的读研的目标很明确,就是找份好点的工作(当时觉得工资越高工作越好),于是早早的就开始投实习,当是当时一直没有面试,我周围的人都还没投,此时,我一直认为是自己的简历不太行,就一直改一直投,直到时间来到暑假实习,当我的周围的人开始投简历的时候我就感觉不对劲了,他们基本能约面,而我依然没什么面试,只有零星的几个面试,我当时就有种感觉是我的学历有问题,然后我参考了网上的意见把专科经历去掉了,因为很多公司并没有明确说要从高中之后开始写,到hr面,hr也会问,到时候在说也行。之后就这样过了一段时间,7月被一家非互联网大厂捞了,没有转正机会,之后实习到9月,回校开始准备秋招。  秋招过程中也很艰难,面试机会也不多,从9月一直熬到12月,最后被一家物流大厂捞了,但是很巧的是这次面试过程中hr并没有问我学历的事,其他hr面都问了,这也为后面埋下伏笔。之后时间来到4月,学校没啥事了,我就提前去实习了,在入职信息上我就把所有的信息都填了,顺利入职干了一个月,之后hr突然找我面谈,一进会议室我就感觉气氛不对劲,hr让我回忆一下当初在官网上的简历和入职信息有什么不同,我一想这不就是没写专科经历吗,接着hr又问为什么不写,是不是故意隐瞒信息,我想着这也没啥隐瞒的,就把心里的想法说了,因为很多公司填简历的时候没说要从高中之后开始写,然后为了过网申我只从本科开始写了。说完之后就让我走了,又过了两天,hr又找我,说我上次说谎,官网有我写了专科经历又删除的记录,这时我才想起来,当时暑假实习结束后,我确实再投简历的时候写过专科经历,想试试有实习结果能不能好点,投了一段时间没反应之后又删了,但是第一次问我的时候,我真没想起这件事,这都去年9月的事了,随后hr以我不诚信为理由,当场解除了合同,并且要求我马上离开公司,整个过程就十分钟吧。  就这样我的人生戛然而止了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务