shopee后端开发面经

笔试:8月19日 14:30 - 16:30 15题选择题+3题编程题
===================   一面 ===================
8月24日 11:30 - 12:30
面试官是个和蔼的大叔,每次回答完都会“嗯”一声。。就算答得菜也会点头,我询问的时候也会很积极的回答

1.  自我介绍
2.  有什么主流排序,快排的复杂度,什么情况下复杂度为O(n^2),如何改善(这里我答了用随机轴点,然后面试官问还有呢,我就答不上来了;正确答案:给每一个元素一个编号,根据这个编号就可以判断是否相同的内容的元素发生了位置互换)
3.  哈希表散列算法,哈希冲突的解决方式。Java里面的HashMap用的是哪种哈希冲突解决方式?(链表,超过8个数字后变为红黑树)为什么用红黑树而不是平衡二叉树?为什么是两倍扩容而不是三倍扩容?(这个扩容机制答不上来...正确答案:哈希表的散列算法是利用对象的hashcode与哈希表的长度-1进行与运算(&)的,起到了与模运算(%)相同的作用,为了保证每一个空间都被利用到,减少冲突,必须是以1111...1这样的二进制相与,所以表的长度必须是二的整数次方个数)
4.  MySQL里的聚簇索引和非聚簇索引的区别, 最左匹配原则,主键索引,非主键索引,B+树,为什么不用二叉树?
5.  听说过MySQL的注入攻击吗?(听过,但原理完全不懂...查了一下博客,大概是在参数的部分恶意添加了MySQL指令,越过了本应有的权限,对数据库的隐私和安全造成了破坏)
6.  redis里的zset和list有什么应用场景, zset用到了什么数据结构?zset的zrange和zscore的查询时间复杂度(完全没用过这两个指令,凉。具体要去看跳表的查询原理)
7.  介绍一下协程?(协程这里是看面经的,没有具体看博客,从面试官的反应来看好像说错了某些地方)进程的堆内存和栈内存是否独立的?进程里面有什么内容(凉,基本答不上,只能扯一点JVM的内存机制)
8.  虚拟内存和物理内存有什么区别,如何管理虚拟内存(段、页),虚拟内存用到了什么介质(外存,磁盘),用到了什么数据结构。答的不好,语言组织不够流畅
9.  三次握手以后,如何给字节流的包设置编号?握手以后服务器会发送什么数据给客户端(这里真的心凉啊..我完全不懂,乱答了)
10.  长连接和短连接有什么区别?HTTP的长连接和TCP的长连接有什么区别?(一脸懵逼啊,从来就没听说过这两个的长连接。查了一下博客,HTTP的长连接会调用TCP的长连接)
11.  session和cookie的区别,存放在哪里,如何进行数据交互,session的数据如何保存到cookie里。这里答得不好,支支吾吾的,逻辑也不清晰
12.  了解URL的RESTFUL风格吗?他的特点在哪里?我回答的是参数通过斜杠号进行分离,成为URL的一部分。面试官问只有这个特点吗?我就说通过restful风格,程序设计的URL架构模式也不同....(这里也是只能乱说一通)
13. topK问题(我只回答了用堆的方法),时间复杂度(这里由于太紧张,把o(nlogk)答错成o(nlogn)...面试官一直问我有必要把所有的数据放到堆里面吗?我说没有必要,愣了一下才意识到说错了)
14. 最小栈如何实现(用两个栈,一个存放数据,另一个存放最小值)
15. 算法题: 求100以内的孪生素数,20分钟内写出代码。问了一下算法复杂度(这里素数判断我用了普通的迭代法,看面试官的表现好像可以做的更好)
16. 反问

感觉这次面试的深度很高,基本上每一个部分都有一些地方是答不上来的....准备还是太不充足了,继续努力
更新: 收到感谢信了,只能继续投递其他简历了

#面经##校招##Shopee##Java工程师#
全部评论
topk问题难道不是没有必要吗
点赞 回复 分享
发布于 2020-09-22 14:56
1面完多久发的感谢信?
点赞 回复 分享
发布于 2020-09-02 10:57
Base?
点赞 回复 分享
发布于 2020-08-27 13:45
请问下最后的撕代码是共享屏幕直接敲嘛?
点赞 回复 分享
发布于 2020-08-26 22:30
挖的好细
点赞 回复 分享
发布于 2020-08-26 20:31
点赞 回复 分享
发布于 2020-08-24 17:54
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-08-24 17:15

相关推荐

03-09 20:07
已编辑
门头沟学院 Web前端
📍面试公司:杭州安恒信息🕐面试时间:3.3💻面试岗位:前端❓面试问题:一面:50+min两个项目问了很久。。。1.如果说现在已经写好了文档,但后端接口还没写好,前端部分你怎么完成?2.你做过什么优化吗,说出来你知道的优化方案?3.你用过什么 AI 写代码吗?4.你项目的 vibe coding 率能达到多少?5.说说 mpc 和 skills?6.了解 rules?7.有没有用 AI 做过好玩的小东西?8.Vue2 和 Vue3 的区别9.组件通信10.v-if 和 v-show 区别11.v-for 渲染中,为什么要有 key 这个东西?12.reactive 和 ref 的区别,存复杂对象用什么?13.reactive 用在数组上的时候有坑,你知道吗?14.Git 了解吗,项目有没有做权限控制?15.如果遇到 Git 冲突,怎么办?16.merge 和 rebase 的区别知道吗?17.Webpack 和 Vite 对比18.TS 的泛型19.TS 有什么优势,为什么用在项目中?20.我现在有一个 interface,里面存了 id、name、grade、content,我只想 id 变为必填项,其它选填,该怎么做?21.为什么学前端,有没有什么规划?二面:40min1.做完这个项目最大的收获是什么?....项目相关2. js 为什么是单线程的?3.浏览器是多进程的还是单进程的,为什么要设计成多进程?4.假如你工作中,你和同事开发同一个功能,你同事的代码写的不规范,不够好,你怎么劝你的同事放弃它的代码?5.如果产品经理现在提了一个需求,复杂且要难实现,你怎么去跟产品经理沟通?6.你了解 AI 相关的东西吗,幻觉,提示词之类的?7.最近有没有做过 ai 相关的小项目,或者了解最新的 ai 相关的知识?8.你来公司实习,想得到什么收获?三面:30+min1.学校、生活、日常问题2.问项目,要看项目展示3.算法题,复原IP地址(只给了一串数字,忘了ipv4地址格式了,没做出来4.职业规划🙌面试感想:一面体验很好,面试官会引导。越往后面越恶心,三面面试官语气不是很好。
Ice124:补一句,算法题是面试官现场搜的,我在那等了好几分钟
发面经攒人品
点赞 评论 收藏
分享
评论
2
51
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务