2022校招提前批-京东算法(算法工程)面经

一面(45min)

  1. 自我介绍
  2. 讲实习项目、技术挑战、收获
  3. 基础部分
    • C++:指针,内存管理,STL,balabala(STL问的比较多,问到底层实现的程度)
    • 设计模式:讲一讲知道的设计模式,以及具体内容(单例,工厂,观察者balabala)
    • 数据结构与算法: 讲一讲知道的排序算法,挑两个讲实现细节(冒泡,选择,插入,快排,归并,堆排,希尔,桶排,计数排序,基数排序)(挑了快排和堆排,快排讲了核心思想和分区点优化策略,堆排讲了堆结构特点,建堆,分自顶至下和自底至上堆化两种,分析复杂度)
  4. 反问环节(工作氛围,岗位负责的日常工作内容)
    总结:大部分时间都在怼C++和项目,因为鄙人擅长的不是C++导致答得很勉强,其他因为问的都不是很难(可能是看我太菜了)所以都尽力答得细了些

二面(40min)

  1. 自我介绍
  2. 讲实习项目、技术挑战、收获
  3. 场景题:设计一个文件系统,支持多线程读写(第一反应是并发控制类问题,需要保证并发性能与数据一致性之间的权衡,从乐观锁和悲观锁两种角度答了一下,思路仅供参考。。乐观锁:读操作多,容忍冲突,事后检测冲突并决定采取如何策略,例子:Git版本控制 实现策略:版本号或CAS原子操作 悲观锁:写操作多,强制加锁,操作前申请,操作完成释放,具体实现略)
  4. 场景题追问:如果读很多,写只有一个,如何保证读性能?(参考数据库多版本并发控制原理(MVCC)中的快照读策略,在实现版本号的基础上存一个旧版本的快照,当写操作进行时,读操作读一个快照即可)
  5. 场景题追问plus:读很多,写结束怎么通知大量读线程读取新数据?(这个我懵了,因为不敢一口咬定就尝试答了信号机制,IO多路复用实现原理balabala)
  6. 手撕算法:LeetCode 146. LRU缓存淘汰 / 页面淘汰策略
    具体实现略,方法很多,一般是双向链表+哈希,其他数据结构也行,按照LRU的思想一步步走就可
  7. 反问环节(同一面,问了点细节)
#京东2021秋招提前批##面经##校招##京东##算法工程师#
全部评论
老哥,不是算法吗?怎么问了这么多开发的问题?
2 回复 分享
发布于 2021-08-02 17:33
这确定不是开发岗?
1 回复 分享
发布于 2021-09-01 16:15
收到京东的offer了吗?
2 回复 分享
发布于 2021-08-03 20:09
楼主,这个"岗位负责的日常工作内容"是啥?
点赞 回复 分享
发布于 2021-09-19 22:39
所以看起来这个岗位不问算法问题吗?我也打算投
点赞 回复 分享
发布于 2021-09-19 22:37

相关推荐

09-01 13:50
已编辑
字节跳动_客户端开发
不演了是吧,来吧,那就互爆,聊天记录.........................................................................................................................................................................................................................................!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!在此,请允许小弟我先诚恳的道个歉,这个标题是引流的。听说字节今年要招5000人,小弟也不知道最终这个数字具体是真是假,小弟目前能做的就是附上内推码并将各位兄弟姐妹们的流程跟进到底,小弟的🐎如下:【内推码:883G76D】(听说用这个内推码投递的都进字节了?)投递链接:https://job.toutiao.com/s/nSVy8-JLz6g最后,无论大家目前学历如何,当前面试过没过,最终会不会选择字节,小弟内心衷心祝愿大家最后都能收获满意的offer。如果大家有关于字节的公司文化、面试招聘、团队氛围、公司食堂、福利待遇等任何问题,大家可以在评论区互相讨论呦,小弟也定当知无不言!引流:
迷茫的大四🐶:输入内推码就能进入字节了吗
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
4
14
分享

创作者周榜

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