首页 / 计算机
#

计算机

#
491832次浏览 5731人互动
此刻你想和大家分享什么
热门 最新
03-20 12:57
已编辑
吉林大学 后端
26届腾讯QQ暑期实习后台开发一面面经
#腾讯# #腾讯求职进展汇总# #腾讯2025实习生招聘# #计算机# #Java# 贴主会更新每一个面试的面经,可以点进贴主主页查看其他面经(都会写的详细),可以关注我获得最新面经通知。总结基本纯八股,基本没有问项目,算法两道贴主的第一次面试(3.11图里是3.10是因为延后了一天),全程十分的紧张。首先面试官让自我介绍,应该是想从我的的介绍里引出问题,可是过于紧张只介绍了自己目前的大学大三的一名软件工程学生,没有谈到任何项目和获奖经历,面试官听完我讲完愣了一下,才开始转入面试1.现在主推语言(先说大二Cpp,大三做项目转Java)2.介绍一下java中的集合(先紧张卡壳了一下,然后讲了Collection和Map两方面,讲到Map的时候面试官继续发问)3.说到HashMap,他是线程安全的吗?(回答不是,然后说有CurrentHashMap有线程安全)4.CurrentHashMap怎么保证线程安全(回答使用了分段锁,介绍了分段锁机制)5.那除了你刚刚说的CurrentHashMap还有什么方法保证HashMap线程安全(又答了个synchronizedMap,也是通过锁的机制保证线程安全)6.那还有使得HashMap线程安全的其他方法吗(没答上来)7.那CurrentHashMap相比于synchronizedMap,通过不同的加锁方式,哪一个性能更好(这我不知道也没答上来)8.HashMap怎么解决冲突(细说了拉链法解决哈希冲突,提到了哈希表变大之后会变成红黑树存储)9.红黑树应用于哈希表性能好在哪里?(我从时间复杂度上解释O(logn)优于O(n))10.还有其他的解决哈希冲突的方式吗?(想起来有线性探测法,但是说不出详细的)11.查看简历后询问mysql包含哪些索引(组件索引,普通索引,唯一索引,全文索引,然后说了下索引工作方式)12.mysql常见存储引擎(InnoDB,介绍了innoDB的机制)13.InnoDB的底层数据结构(B+树,说了B+树的结构)14.为什么不用B树呢?(先说B+树相对于B树的优点,其中提到使用B+树磁盘读写性能更高)15.怎么使得读写性能更高?(从B+树存储和查找原理入手,B+树叶子结点存储数据,非叶子结点存储索引,从而使得每个节点存储更多索引信息,降低树的高度,B+树进行查找路径更短,所以磁盘读写操作更少)16.详细讲讲为什么范围查找性能更好?(从B+树节点有序相连入手,叶子结点通过指针相连形成有序链表,使得查询一旦找到要查的的范围起始点,就可以沿着链表顺序快速访问,而且B+树结构非常适合二分查找,相对的时间复杂度会更低)17.说B+树的时候提到了Redis也应用了有类似于B+树优势的数据结构,面试官直接抓住发问Redis使用情况(讲了项目里对Redis的使用)18.Redis常用的数据结构(String项目里用来存储用户信息,set项目里使用来管理帖子赞踩以及并集管理共同关注,还有list和sorted set)19.那Redis里的Hash你有用过吗?(又是Hash,这部分我背的不熟,老实交代用的不熟练)20.Sorted Set的底层数据机构是什么?(先想起来有一个跳表,面试关追问还有吗,想了很久说压缩链表,并说只知道名字,不知道具体实现,因为我前面说到的都细致解释了)21.问Redis持久化机制(回答两种,RDB持久化和AOF持久化)22.马上询问RDB底层的运行原理和具体执行(说了自动配置和手动配置,提到BGSAVE)23.追问BGSAVE具体执行(老实交代只记得这个命令,对底层执行还不清楚)24.开始问计网,TCP和UDP(细说了TCP的三次握手和四次挥手和UDP传输快但是不可靠)25.TCP的头部结构说一下(开始按顺序说TCP的头部存储的不同参数)26.那头部里的校验和占多少位?(16位)27.http中403错误码什么含义?(禁止访问,服务器拒绝客户端发送的请求,权限或者资源问题)手撕算法,面试官调试腾讯会议上面的ide,调试了五分钟没搞好,让我自己直接在自己的ide上写十五分钟内完成快速排序和二叉树中序遍历用c++写,二叉树写的时候被要求不能用递归要用迭代法算法都不难,但是因为没有腾讯会议上的输入样例提示,面试官也没说具体的输入样例核心逻辑很快就写好了,但是样例的输入尤其是二叉树那里一时没处理好(向输入前序然后输出后序来着)到时候面试官上来说因为没有在腾讯会议上写,就不要求运行写输入样例了,要求我细说两个算法的逻辑即可28.快速排序——经典的分治算法,寻找一个基准数,将小于他的排左边,大于他的排在右边,然后递归处理左右两边29.快排稳定吗?(不稳定)30.细说快排不稳定的原因(依赖于交换操作,可能导致数值相等的元素排序后相对位置发生变化)31.说几个稳定的排序算法(冒泡排序、插入排序、归并排序)32.二叉树中序遍历——利用栈模拟递归过程,首先将根节点以及其左子节点一次入栈知道左节点为空,然后弹出栈顶节点,再将右子节点作为新的根节点,重复这个过程到时间了,让我反问,不知道说什么,就问面试官,这是我的第一次面试,您认为我的表现如何,面试官官方回答:”我只是如实的记录你的面试表现然后把档案给上面的leader进行横向评估,这不由我说了算而由leader说了算。“也不知道这样反问稳不稳妥,说出去的时候其实就有点后悔了,然后向面试官道谢,面试结束。
wuwuwuoow:说说我自己对这些八股的理解,有问题可以一起讨论: 1.CurrentHashMap,面试官应该是想让你回答 JDK1.7 和 JDK1.8 的实现区别,为什么 1.8 的更好?1.7 是分段锁,但是锁的粒度还是比较大。所以 1.8 做了改进,如果目标位置上的节点为 null,就先 CAS 把节点直接放进去,避免加锁。如果目标位置存在节点,就使用 synchronized 对“头节点”加锁,接下来读写链表或红黑树就可以保证线程安全了,因为只有一个线程能访问该链表或红黑树。总结就是 CAS + synchronized 更小的锁粒度 + 避免创建 Segment 节约内存 2.哈希冲突的解决方案。开放寻址法,在数组中找到下一个位置放入元素,常见的有线性探测、二次探测、双重哈希。在 ThreadLocal 中,就采用了线性探测法;拉链法,典型的就是 hashmap;扩容,hashmap 和 ThreadLocal 都有通过扩容的方式解决哈希冲突,会设置一个负载因子,比如 0.75,达到该值就扩容。一般就是「扩容+拉链法」解决,拉链法可以解决哈希冲突问题,但哈希冲突多了性能就差了,通过适当地扩容可以降低因哈希冲突过多导致的性能问题,但不限制地扩容又浪费内存。所以要在内存和性能之间做权衡
点赞 评论 收藏
分享
03-24 14:57
已编辑
吉林大学 后端
26届阿里云暑期实习Java开发一面面经
总结:项目+mid算法+计网八股,只没答上一个sql语句#阿里云# #26暑期实习# #java# #计算机# #阿里# #阿里求职进展汇总# 贴主会更新每一个面试的面经,可以点进贴主主页查看其他面经(都会写的详细),可以关注我获得最新面经通知。贴主的第二面(之前腾讯是第一面,这次更有经验了)首先自我介绍,把面试官引到我擅长的项目上1.询问项目的亮点答:登录注册模块采用邮件注册,密码存储采用MD5加密与加盐,登录使用Kaptcha验证码验证,拦截器进行登录状态检查;使用Redis做本地缓存,使用Redis集合数据类型来处理赞、踩,相互关注;使用Spring的声明式事务管理保证数据的一致性;使用Kafka作为消息队列对系统进行解耦,在用户操作后通过消息队列异步处理推送,避免同步操作性能瓶颈2.数据库存储的密码是明文还是加密答:加密的,用户输入的明文密码拼上盐值加密后存入数据库3.了解非对称加密和对称加密吗?答:了解,对称加密用同一个密匙,非对称有一对密匙,一个公匙,一个私钥4.哈希加密了解吗?答:了解,我使用的MD5加密算法就是哈希加密算法5.哈希加密对于对称加密和非对称加密的优点答:计算速度快,能快速对数据进行加密处理,而且是单向加密不能解密,就算我的后端数据库被攻破,也无法从数据库存储的密码中还原密码6.在项目中使用Spring和不使用相比Spring有什么好处?答:细说了IOC和依赖注入优点,AOP优点,事务管理优点,MVC优点7.项目中用到了什么设计模式答:第二个项目手写Spring,创建Bean用了工厂模式,保证容器中一个Bean只有一个实例用了单例模式,实现JDK动态代理和CGLIB代理使用了代理模式,处理请求采用责任链模式等8.讲一下责任链模式优缺点答:优点是解耦,每个阶段可以单独进行配置与扩展;缺点是不好调试,定位哪一个处理者出问题得一个个排查,还有责任链太长会降低性能9.你知道状态模式吗?答:行为设计模式之一,允许对象在内部状态改变时改变他的行为,但是我在项目中没有实际应用这个模式,所以没说展开10.享元模式知道吗?答:结构性设计模式,目的是减少对象创建数量,从而降低内存占用,比如说在我的论坛项目里,像用户名,头像这些需要频繁储存的数据就可应用享元模式,把常用的用户基本信息作为享元对象存入Redis作本地缓存11.你平时会看什么书吗?答:平时基本在学校看教材,假期会阅读一些小说、杂志12.你写代码最看重的一点是什么?答:想了一会说可维护性,然后论证了可维护性的重要性13.你觉得什么时候应该用事务,什么时候不应该用事务?答:事务就是一组操作,我要保证这一组操作的原子性时就应该使用事务,要么全部完成,要么全部不做,避免出现数据不一致情况14.看到我简介上的算法获奖经历,问我15分钟选一个难度的题目手撕,我怕15分钟写不出hard就选了中等手撕算法-LeetCode原题反转链表2   7分钟速通要求Java写,但是平常写算法都用的cpp,一开始写链表虚拟头结点用cpp写法导致报错,但改掉后成功ac15.来一道场景题,有一个合同,合同会和很多个应用关联,问我创建几个表合适答:创建三个表,一个是本身的合同表,一个是应用表,还有一个关联表,合同-应用关联表,关联表绑定两个外键16.如果创建表式要求几张表同时成功或者同时失败,如何写Java代码保证事务一致性答:使用Spring的声明式事务管理,使用@Transactional注解,就可以做到事务的原子性(同时成功或同时失败)17.要求写出上面的场景题,查出合同表中的top 5个金额最高的,连带查询出相关应用信息答:这里写了一会,对JOIN的运用不熟练,没能成功写出SQL语句,算是这个面试唯一没答上来的18.(面试官1说另一个面试官要来考察一下我的基础)我在浏览器输入https://www.taobao.com后,背后会发生什么样的网络请求?答:(窃喜,这是背的八股的第一大条)首先是DNS解析请求,...(过程省略);然后是TCP连接请求...(过程省略);然后就是HTTP请求,浏览器根据输入的url构造HTTP请求报文,...(过程省略);(说到这才发现是HTTPS)紧急补充,使用HTTPS协议,在TCP连接建立之后还会有一个SSL握手请求,会进行身份验证、密匙交换等操作,进一步保证信息安全性;最后页面加载完成还会有一些资源请求,比如CSS文件,JS文件;19.说说HTTP请求数据逐层传输最后到二进制传输经历的过程答:应用层HTTP协议把要传输的数据比如请求方法、请求头组成一个HTTP报文;然后HTTP报文到达传输层,传输层使用TCP或者UDP协议,TCP协议会给HTTP报文加上TCP头部,包含源端口号、目的端口号这些信息,根据三次握手建立可靠连接后,将封装好的TCP报文发出去;数据段到达网络层,网络层主要用IP协议,IP协议再给TCP数据段加上IP头部,包含源IP地址和目的IP地址;封装好的数据报来到链路层,链路层把IP数据报封装成帧加上帧头和帧尾,帧头包含源MAC地址和目的MAC地址,帧尾包含效验信息,然后就以2进制在链路层传播了20.网络传输到网络层,是如何找到下一跳发往哪,根据什么协议和算法?答:依靠路由协议,说了RIP和OSPF,RIP基于距离向量算法,...(省略原理),15跳不可达,收敛慢;OSPF协议基于链路状态算法,每个路由器会先了解周围链路状态,像数据结构里的图一样生成拓扑结构,然后把这些信息发送给网络中其他路由器,然后根据迪杰斯特拉算法计算出最短路径更新路由表,收敛快且适用于更大网络规模21.你在学校里成绩如何答:先说了基础核心课比如计网、数据结构、操作系统都学的很好,批斗了一下学校教的过时课程(20年前的破jdbc和web),说这些课我认为上的必要不大,所以没有学的很认真,这些课成绩差些,所以总体成绩不算很好,但是工作用的工程能力和算法能力锻炼的很好22.你的教育背景不错,今天也看出你的基础也很扎实,为什么你不选择去做算法工程师而是选择做开发呢?答:首先回答算法工程师要研究生起步,我对自己的规划就是本科不读研参加就业,而且在开发上我累计了一定的基础,做出了一定的成绩,也比较享受开发的成就感,而算法方面学了机器学习,感觉更偏向数学领域,就不是很感兴趣,最后还是决定选择做开发。反问环节:1.问了工作地点答:北京2.问了实习薪资答:说他也不知道结束,总用时1h
嵐jlu:可以关注贴主,我还会更新接下来的每一个面试的面经,都会记录这么详细,帮到你了就给帖子点个赞吧
查看22道真题和解析
点赞 评论 收藏
分享
03-22 12:51
已编辑
火炉中学 前端工程师
四段实习,有大公司经历有啥用,不也还是找不到工作
我前端已经实习了一年多了,对口互联网公司。整个互联网好像人均大厂似的,(大厂实习还可以,hc多),但是人均大厂正式工offer吗?一群人跟风校招,结果怎样应该也清楚了吧,像我这种就是普通人的真实状态。我也尽力去在实习做很多产出了,需求平均每周两个,接触过二十多个项目,有低代码开发,插件,官网,后台,中台,商家端,electronic客户端,服务端渲染,原生,saas,npm包工具埋点等。从业务做到构建,性能优化,工程化。做过react居多,next.js,也做过vue,react native,tailwindcss,h5,自学过uniapp虽然没做过小程序,水过一点开源,看的源码不多。在这一年左右的时间里,我白天实习,晚上找工作投简历,春节期间减少出去玩爆肝毕设和论文,现在基本完成了。日常八股,面经,手撕,力扣做。虽然有些实习的活是打杂,改bug之类,很多是功能优化,新增功能,(尽量包装吧orz)校招也有投,该内推的内推,笔试做了好多好多,全ac也进面不了'但是都有啥用,已经找小公司了,好多简历挂,我也没什么要求,前端5k我也去干算了。累了,经常做着最近做着做着需求就在公司哭,这里也没有转正hc。我也不敢all in校招。本来就很少面试。兜兜转转又回到原点?按照这个趋势,未来估计也是人均大厂实习,不一定找得到正式工作,hc太少了。有的人学历特别厉害,校招很容易拿下,应该体会不到这种痛苦吧。 #一句话证明你在找工作#  #前端#   #如果实习可以转正,你会不会放弃秋招#  #春招你拿到offer了吗#  #计算机#  #找工作,你会甘心进小厂还是猛冲大厂#  #找工作中的意难平#  #放弃大厂#  #女性求职#  #计算机找工作#  #实习工作,你找得还顺利吗?#  #应届生应该先就业还是先择业#  #现在前端的就业环境真的很差吗#  #现在还是0offer,延毕还是备考#  #0offer是寒冬太冷还是我太菜#  #小厂也是厂,三千我也干#  #转行#
小浪_Coding:内卷是常态, 学计算机的同学不会少, 大学普遍扩招,计算机这种热门行业永远是有人学的, 难顶
点赞 评论 收藏
分享
简历求拷打
神哥不得了:神哥来啦~自我评价和校园经历的话可以直接删了,从大厂暑期的话应该没有什么太多问题,应该是能拿到很多大厂面试机会的,就是在面试的时候表示的好一点就行,可以在面试前先把高频top 50的八股多巩固几遍,千万不要看那些假高频八股,这两个项目的话问题不是很大,应该能够帮你找到大厂实习的,算法的话一定要刷起来,因为大厂有些还是比较看重算法的
点赞 评论 收藏
分享
2024-07-31 09:36
门头沟学院 Java
如何评价某211软件工程招1900人?
今天没课:就业市场就是被这种学校毁掉的,每个专业都应严格控制学位名额的。
点赞 评论 收藏
分享
2024-12-06 10:31
中国农业大学 Java
群面两个人都是苍穹外卖,尬
不敢追175女神:难蚌,哥们就一个外卖项目啊,武理也是硕士吗
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务