面经详情

虾皮面试比较注重基础
这次找工作面试的第一家算是比较合适的大公司吧,挺不错的公司,面试官挺和蔼的;面试虾皮的话,算法题不需要怎么准备,基本上都是easy模式,有点基础的程序员都能立马写的出来;主要是技术问题比较多,也比较基础,建议多准备下技术知识。
Q:一面: 1.项目架构图 C++ 2.内存对齐 3.stl的map和unordermap区别、时间复杂度 4.为什么析构函数要是虚的 虚函数表存放在哪 网络 5.webscoket和http的区别 6.流量控制 7.拥塞控制 8.tcp四次挥手流程图 time_wait redis 9.redis的持久化机制AOF和RDB AOF和RDB区别 AOF的重写机制 父子进程 10.redis的主从复制机制 11.跳跃表 linux 12.linux内存管理 段的排序,就是代码段、数据段、BSS、heap、mmp、stack 链接库放在哪个段中 堆和栈的顺序,就是栈是高地址开始 13.缺页异常 mysql 14.聚集索引和非聚集索引结构和区别 B和B+树区别 15.binlog和redolog 16.数据库的事务 数据库的几种隔离级别 17.sql优化 慢查询日志 explain参数 18.算法题:链表的回文性,要求单链表、O(N)时间、O(1)空间

相关推荐

匿名用户
Golang
确定通过感觉靠谱
1. 来早了,hr很贴心的提前了面试。先会填一个资料表,然后做一个题目 2. 题目方面,前八道题都是和交流沟通有关的。比如说如何查一个问题,比如说面对一句话的需求怎么办。面试官想要的回答是查问题是自己懂用的东西的底层原理,而非百度或者如何。面对需求,一方面是沟通,另一方面可以做一些原型来和对方确认。 3. 题目方面,Golang要求设计方案实现一个场景,在保证资源使用率在80%以内的情况下,接收到源源不断的地址,设计方案访问地址并允许分块传输数据(chunked?),并要能够随时关闭。我用的channel,面试官提示用context,没用过,自己补充下看看。 4. 还有三道题,和代码有关的。一道可能是和列表有关的,map值格式是struct,赋值是*struct,range列表的时候,单个代表索引,两个是一索引一对象。第二道可能是考察关闭的channel是否可以继续读取(可以继续读取)。第三道是三个defer的执行顺序,最后一个panic(从后往前,最后panic) 还有js的题目,我直接说不会了。基本没写过。 其实我感觉是没戏了的。不过可能是缺人,或者说暂时不需要那么多有创见性的人,所以面试官最后还是表示通过了。面试官也给了一些人生建议,最终到个人来说就是需要努力。接下去是和hr小姐姐聊聊公司的规划,以后的任务,大概明白了。...查看更多
2 年前 发布
匿名用户
Golang
未通过未通过
两个面试官一起面的, 先是写了一道简单的把数字用逗号格式化的题目, 然后是问了项目的一些细节, 最后面试官开始拿着一张题库从头开始问算法题,给一个类似60000这样的数字,用逗号格式化成60,000这样的字符串描述一下快速排序的过程hashtable的实现,和红黑树的关系,如果哈希碰撞了,有哪些解决方案tcp和udp的区别介绍一下聚簇索引和二级索引innodb和myism的区别acid代表什么?底层实现的原理是什么为什么索引的主键建议是设置成连续自增的int整型描述一下树这种数据结构描述一下大小堆什么是联合索引,如果设置了联合索引a,b的话,那么下面四个语句用到了哪些索引:where a=0 and b=0 , where b=0 and a =0, where a = 0 or b=0, where a>0 or b =0进程和线程的区别分别描述一下进程切换和线程切换的过程(这题挺考验面试者的深度的, 核心要答到虚拟内存和虚拟内存与物理内存的映射缓存失效这两点)为什么运营商要对udp包qos(这里面试官好像也觉得这个问题有点无聊,我的想法是可能两个原因,一个是为了防止ddos,一个是为了在网络拥堵的情况下优先保证tcp包的正常. 一年后的现在我理解了原因是运营商对 TCP 和 UDP 其实都想 QOS, 只是对 TCP 进行 QOS, 会触发 TCP 的重传机制, 导致更加严重的网络堵塞问题, 所以只能对 UDP 进行 QOS 而已.描述一下数据库的三大范式说一下反范式的场景redis的set数据结构怎么实现的redis的数据保存方式(rdb和aof),分别具体描述一下这两种方式以及他们的区别redis如何实现分布式锁的如果我的物理内存是1g,那么我可以申请2g的内存吗(可以,虚拟内存),那么虚拟内存是什么?time wait过多是什么情况?怎么解决close wait过多是什么情况?怎么解决描述一下三次握手和四次挥手说一下长连接和短连接(keep alive索引为什么用b + tree不用b tree?为什么不用红黑树(太高了. 导致 IO 次数过多, 所以红黑树不适合存储介质为磁盘的场景, 比较适合在内存里面操作数据)?同步与异步,阻塞与非阻塞,这两组概念有什么区别?epoll和select的区别负载均衡的策略(我答按照ip哈希,权重法之类的,他说那都是负载均衡的算法,不是策略什么场景下tcp会回rst包,(我回答gfw,防火墙,或者对方端口根本不通502和504的区别云计算常见的技术组合你在云计算部门,你认为云计算是什么数据库常见的几种事务级别描述一下缓存穿透的触发场景,要怎么避免缓存穿透(我答限频描述一下缓存击穿的触发场景,要怎么避免缓存击穿描述一下缓存雪崩的触发场景,要怎么避免缓存雪崩(我答限频你是怎么排查线上问题的,描述一下数据库索引里面存储的是什么说说tcp拥塞控制,我答慢启动,拥塞避免,快速恢复,快速重传,然后叫我分别解释一下这四个,然后问我拥塞避免用的什么方案,我觉得这个问题有点迷,就回答滑动窗口,然后他就下一题了描述一下zset的数据结构,解释一下跳表列举出工作中遇到的比较难的问题, 怎么解决的数据库有什么优化的技巧session 和 cookie 的区别...查看更多
2 年前 发布
NinjaK
Golang
未通过未通过
时间有一些久了,只能回忆起一些大概。技术面试总共是2~3轮视频面试(我在第三轮时闯关失败,当时本以为胜券在握,最后还是大意了)。七牛云面试官面试时,既考察基础知识和能力,也注重实战经验,尤其关注存储方面的技术,比如MySql索引,Redis应用以及主从数据同步等方面。第一轮面试时,面试官了解到我有C++的背景,在考察Golang的同时也问了些C++的问题。后来他问了一个并发分布式事务的数据一致性问题,把我难住了,问的是并发对一个MySql数据库字段进行自增时,如何确保数据自增成功。我回答说,用事务可以保证。他又问如果在最后commit的时候发生了超时(比如因为网络问题,Server端没有正常返回),这时候如何确保数据一致性。因为分布式的经验欠缺,没能打上来。面试官比较耐心,会和你进行讨论,循循善诱。当然,面试离不开现场编程,后面出了一道题目让我现场写一个可以进行并发数控制的struct简单实现,类似于ratelimit。等了几天之后,安排第二轮技术面试,仍然是先问答,然后现场编程。自己对于hash部分的基础知识有些薄弱,所以当被问到如何写一个hash函数的时候被问倒了(惭愧)。现场编程的题目是关于LRU的简单Golang实现,并且能在幸运的是,后来竟然还安排了第三面。第三位面试官很和蔼,当我问到他七牛云大概有多少代码量的时候,他热心的帮我大概统计了下。面试官当时问倒我的问题是,描述下用redis给MySQL提供缓存功能应该如何实现,并且如何保证数据一致性的问题。我完全答错了,事后想想对于自己不确定的方面,面试时还是要仔细斟酌再回答,不能想当然。总体来说,还是非常好的一次面试体验,给七牛云赞一个。...查看更多
2 年前 发布

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网深圳虾皮信息科技有限公司深圳虾皮信息科技有限公司面试经验深圳虾皮信息科技有限公司面试经验:虾皮面试比较注重基础
正在招聘Technical Product Manager (Mobile App)200 个岗位