pdd 服务端
一面
- 自我介绍
- 实习项目详细说一下?命中次数怎么缓存的?
- 策略是怎么定的,有没有参考业界,排序啥的(测出来的)
- 介绍一下协程库(封装c++20 coroutine)
- 什么是协程?
- apache webbench 测试,rps 10?rps是什么(request per second)
- 线程池怎么实现的?
- 任务队列是否有上限?(没有,都是小数据测试)
- 那是不是有可能导致内存占满?(是的)
- 定时器是用来干嘛的?(tcp连接,长时间没有收发数据,借用定时器将其断开,减少资源占用)
- 是否参照过其他网络,native(reacotr,native不知道)
- webserver有什么功能?(用户注册登录、静态网页访问、修改密码的功能)
- mysql用来干嘛?(用户信息存储,用户注册登录)
- 是否支持修改密码?(支持)
- 做一个功能,用户连续输入三次错误的密码,冻结账户,输入正确的密码,清零(用户表多两个字段:输入错误密码的字段,每次输入错误密码,该字段加一。到了三次,写上超时时间到一个超时字段,这段时间不得有任何操作)
- tcp建立和断开连接的过程(三次握手、四次挥手)
- 死锁的发生的条件(四个必要条件:互斥、循环等待、保持并申请、不剥夺。防范死锁:资源排序、申请锁添加等待时间)
- 进程和线程的区别?
- 数据库的事务(用过)
- 具体场景(利用数据库的原子性更改密码)
- 事务特性(ACID,事务隔离级别:读未提交、读已提交、可重复读、串行化(脏读,幻读))
- 编程语言只有用过c++(是)
- 研究生导师方向偏硬件?(是)
- 比较大的项目(仿真算是吧)
- 链表排序(归并排序)
- 反问: 技术栈:java工作内容:pdd会员系统(月卡)、拉新、社交方向(拼小圈)我的技术栈和公司栈不匹配,怎么看待:不是特别看重这些面试表现:操作系统,java框架、spring面试结果什么时候出:一周内(两轮技术面+主管面+hr面)
二面
kpi,jiji
- 自我介绍
- 介绍的实习项目,如何分工
- 手撕:斗地主场景,上家出了一个牌(对子、顺子(5张以上)),需要在你的手牌中找出所有能出的牌。(撕得一坨,也没有运行,编辑器像记事本一样)
- 反问:为什么没有其他的技术考核,各个面试官的面试不一样,侧重点不一样
三面
- 普通聊天
- 实习
- 学校
- b+树,插入为什么做split操作、平衡操作
- mysql用过吗?
- 实习缓存
- 实习用的都是硬件?为什么想找后端的工作?
- c++协程库项目: 进程、线程、协程的区别c++的协程和go的协程区别?(有栈、无栈)
- 业务方向有了解吗?(拼小圈、拉新系统)
- 手撕:给出一个字符串,求出字符串中全部的最长回文子串(暴力法)
- 反问:什么时候能出结果( 不太知道,看hr)(感觉不妙了,真的难顶,三面了才寄)