在长沙某公司工作3年了, 打算去北上广深闯闯, 因此投递了几家大厂的职位, 总结反思下面试经历
一: OPPO
1面: 问的比较细, 长达1小时.
类加载和卸载机制, GC, 内存模型
另外问了
最终一致性解决方案, 两阶段提交
设计一个用户中心, 要考虑的架构点, 如果全部down掉了, 托底方案是什么
2面:
四层(F5,LVS)负载是否要建立TCP连接, 长连接是如何维持以及https的验证原理
压测怎么做的, 工具选型( 我这个答的不好, 没有说出各压测工具的优劣势)
最后就是问简历里面的项目细节了
3面:
这一面就比较轻松了, 领导和我聊了下项目管理中遇到的问题, 我的解决方案是什么
我如实说自己没有做过管理, 就把平常公司领导的做法说了下
4面hr面:
这一轮基本就比较稳了, 问了下我为什么要离职之类的, 具体记不清了. 总之一点, 尽量真诚, 不要撒谎
二:虎牙直播
1面: 内存模型,设计模式, 可能是我回答的比较好, 问完就没问基础了, 直接进入项目提问
说如果他们要设计一个模拟故障的系统(比如拉升cpu,磁盘阻塞, 网络抖动等), 我来做 ,我的方案是什么
我其实没有做过 ,只能大概说下思路, 但是也通过了
2面: 由于我这个时候已经拿了另外一个offer , 就没有参加2面了
三: 腾讯
1面: 内存模型(感觉必问...) jvm 端口复用 time_wait的原因和解决 数据库相关
2面: 秒杀系统设计,订单的设计, 简历中的项目细节
3面:问简历中的项目细节, 自己负责的项目一定要谙熟于心, 面试官会不断追问并指出项目漏洞, 你得当场给出解决方案
4面:http协议以及运用, 网络相关知识 另外就是问项目了...
5面hr: 为什么要离职, 为什么来腾讯, 之前薪资多少, 期望多少, 职业规划
由于之前有了一个offer, 360和中信银行这些公司的面试就没有参与了
总结的话, 就是平常一定要多学习. 就算不是自己负责的项目, 如果有学习的价值, 也要主动多去了解
另外一定要注重自己的代码风格 ...