面试复盘 | pdd凉经

笔试 除最后一题感觉是纯数学题只能骗解,前面难度大概都是dp之类的。

一面 技术面

  • 自我介绍
  • 项目
  • 这边是做java的,你c++打算怎么转
  • 设计算法题
    Q: 服务A有几百台服务器,服务B有几百台服务器,每台服务器的可响应性和响应时间不同,能承载的访问数量也不同,问如何设计一个合适的算法使得对AB服务或者相互调用的速度更快?
    A:  可以使用hello心跳包(报文长度小)做keepalive探测 ,根据响应的RTT来对服务AB分别做优先级队列排序,双方通过调用优先级队列中优先级最高的服务器调用对应服务。
    Q:这个方法确实可以,但有没有考虑如果都调用一个服务器会出现问题吗?
    A:是指负载均衡的问题吗? 可以通过轮转,即不一直给同一个服务器分配任务,按照FIFO类似的方式写一个循环,对不同的任务分配给response time允许时间内的不同服务器 来达成一定程度的负载均衡。同时如果可能的话,每一次调用返回一个response time指标,来更新优先级队列的优先级,更好的做到负载均衡。
    Q:这样你给我设计一个算法,就比如决策树,你给我列出决策树需要的参数以及每个参数大概的占比。
    A:我没有接触过这样的场景,想到的参数只有 RTT、response time,吞吐量这些。其他的我不懂。
    面试官沉默。
  • 反问:具体业务内容

二面 技术面

  • 手撕
  1. 前序遍历
  2. 中序遍历
  3. 后序遍历 (两种方法)不明白面试官为什么想让我写前序的先left再right进栈 最后reverse这种取巧方式。
  • IPC方式: 共享内存、管道( 半双工)、socket、信号和信号量(两个有什么区别)
  • 线程通信方式
  • 两者的区别
  • 用过shell嘛,grep写一条指令访问xxxx之类的, 我说不记得了,都是现场查现场写的。面试官沉默
  • tcp拥塞控制 慢启动拥塞避免。。
  • 虚拟内存 什么是虚拟内存?为什么要用虚拟内存?你知道那些替换算法 LRU LFU FIFO 时间片
  • 问访问百度需要的全过程,从dns(使用UDP)解析域名获得IP,到 HTTP(使用TCP)get或者post命令请求数据,服务端收到请求。。。
  • 接上题,描述完后,问在访问百度的过程中是只访问那一个IP的主机嘛,那一台服务器不会过载嘛,实际过程中一般使用应用层网关代理,那这种是正向代理还是反向代理? 答:不知道,没有了解过。
  • 最后问了一个场景题:秒杀,一万个请求,目前的服务器只能处理一百个请求,如何解决问题?(不允许用加物理机的方式)  提了个redis,
  • 面试官:redis可以,变成可以处理一千个请求了,后面哪? 答不知道。
  • 面试官:除了使用十台带redis的服务器之外,还可以把控制往前移,redis算是使用内存截留一部分请求,那同样的再网关也可以处理,请求端网关也可以。同时把查看界面和请求秒杀分开(我:类似于12306是嘛)
  • 反问:具体部门,进去之后怎么培养。

结果

某一天凌晨起来突然发现流程终止了,早上问hr,hr说了帮忙查一下,然后说欢迎投递下一个批次,然后就没有然后了。

问题与反思

那个服务A和服务B调用的算法设计不知道有没有大佬给个方法,完全没接触过实际场景。
#面试复盘##拼多多##面经#
全部评论
二面过了多久发现流程终止的鸭
点赞 回复
分享
发布于 2021-09-15 14:57

相关推荐

#软件开发2024笔面经# 自我介绍导师是否放实习,实习时间职业规划介绍一下项目自己的工作量的占比,为什么项目里的困难,怎么克服的有在安全框架的基础上进行二次开发吗,还是只是使用这个框架关于加密具体说一下你觉得你刚才说的是绝对安全的吗,有什么方法可以破解你说的吗你们的接口对外提供的服务的性能和指标有要求吗给你自己在项目中的表现打分,满分十分,你给自己打几分,近一年内有做过什么开发的项目吗平常通过什么方式学习java和开发知识有了解过行业的相关的企业在java开发常用的技术和框架说一下static关键字的用法 你用的java版本是什么java1.8有哪些新特性java1.8的内存模型什么样有没有用到过jvm的异常oom异常有什么排查思路吗创建线程并行执行有哪些实现 方法有用过线程池线程池常用参数和含义有了解吗线程池有一些任务在等待队列中等待执行,服务器重启,等待队列中的任务会被丢弃,你有什么应对策略有没有主动去了解一些新的技术chatgpt有所了解他们的原理你了解吗算法输入m,n,m可以有n个正整数相加而得,如7,2,有(1,6),(2,5)等等,不考虑重复,输出这些可能的组合回溯十几分钟就做出来了感觉是做太快了还不到一个小时,又问了一些比较日常的问题写代码这块,怎么编写高质量的代码,你有什么见解你觉得有哪些技能是你日常学习中会反复使用的,你有没有去练习来提升这些技能来提高工作效率和指标你平常出学校会做地铁吗,经常坐哪条地铁(我以为要问上班放不方便,说了好多条线,赌一条在公司旁边)估算一下你最常坐的地铁一天的人流量(说在微博上看到过相关的统计,说不算,重新说一个场景)估算一下你们学校一共有多少只鸟,学校外面飞进来的不算你觉得自己有什么待提升的空间反问评价一下我今天的表现,有什么可以改进提升的简历上都是本科时的项目,比较早,可以写一些研究生的成果,发表的论文,未发表在投的论文都可以多久能出结果3天内
点赞 评论 收藏
转发
点赞 13 评论
分享
牛客网
牛客企业服务