一面 40min
- 自我介绍
- 解释型语言和编译型语言的区别?除了运行速度别的角度?生产效率?
- mysql索引?为什么用b+树?最左匹配?
- mysql隔离级别?可重复读是否解决了幻读问题?
- 哈希表为什么查找复杂度是常数?
- 乐观锁悲观锁区别?乐观锁如果出现了并发冲突一般怎么解决?(重试)自旋锁?(思路相似)
- 页面置换?淘汰算法?LRU用基础数据结构的实现思路?
- 信号是什么?用过吗?
- TCP如何保证传输过程的正确性?
- linux命令:查看80端口是否使用?
- linux文本命令:有空格隔开的文本三列,比如a b c,这是一行,有很多列,找出第3列大于100的有多少条?
- grep 查询字符串中不含有某几个字符的?
- 怎么了解到HTTP协议是没有状态的?怎么加状态信息?
- 给定url库和一条url,设计数据存储以及查询,判断这条url在不在库中?可以接受一定错误率?
- 僵尸进程和孤儿进程区别?
- msyql为什么往往以集群提供服务?mysql扩容会有什么问题?比如写,是要改数据的,如果某一天写也达到了单机最大承受量,单机总是有极限的,大部分业务都能达到,这时候往往会考虑用集群提供服务,那如何解决掉写大量的问题?主从同步的原理?
- 算法题:最大子序和,说思路就行。面试官不懂O(n)的扫一遍方法,只懂动态规划O(n)方法,于是写出来讲了。
- 堆排?不会。归并?会。写个快排吧?居然5分钟就写完bug free了。然后讲一讲。
- 反问:总共有几面?表现怎么样?
二面 37min
- 介绍一下自己做的项目?web框架。模仿开源框架还是自己做的?模仿框架。大概介绍框架支持哪些功能,有哪些能力?底层是依赖于具体的web服务器吗还是?有相应的产品或者什么在这个框架上跑过吗?没有。那你咋知道这个东西是否ok呢?a+b。get、post有考虑对安全进行过滤吗,比如输入参数,参数比较大的话,比如post body比较大的话,如何处理?没有限制。那如果让你做的话,应该从安全角度做那些控制,比如还有参数合法性的判断?说说路由分组的实现?有什么作用?写代码方便。还有呢,功能性比如共同url前缀的一部分用户的共同登录验证?中间件做。日志怎么记录的?写到哪里了?输出控制台。原来你是windows开发的?
- linux熟悉吗?主要干什么?查日志。查询文件中字符串出现次数?不会。是否出现?直接grep。
- mysql一张表有uid,name,time,grade,统计用户按分数总和的前5名?
- 进程和线程区别?包括上下文切换、调度、通信方式等等的?
- 管道属于全双工还是半双工?怎么工作的?平时有用过这种通信方式吗?go语言channel是类似管道的。还有吗?没有了。
- 单链表找出是否存在环?环的长度?
- 项目web框架有实现cookie和session机制吗?
- http和https区别?
- 实习语言?go。原来?c,c++。c、c++做过项目吗?没有。
- 非关系型存储用过吗?redis。分布式锁?setnx。实现悲观锁原理?实习退款场景为什么加这个锁?
- mysql表锁行锁是悲观锁还是乐观锁?
- redis实现榜单用哪种数据类型?
- 微博首页动态feed列表原理?
- 反问?没有。
三面 44min
闲聊
- 去不去北京
- 实习做的事情一直聊一直聊,技术的非技术的,感觉想考察对微服务架构的理解答的不太好。
- 技术分享等有什么,对哪些感兴趣
- 平常看什么书、文章等等
- 工作和学校生活差别
这类问题可太难答了!
全部评论
(17) 回帖