转眼已经工作入职一年的时间了,还是有非常多收获的,感谢这一年的时光,感谢所有遇到的人,让我变成更好的自己。

正所谓满园春色关不住,一枝红杏出墙来,带着满满的收获我开始了大规模的面试,拿到了大部分 Offer。

在发出来面试经历之前,简单谈谈我这一年中作为职场新人的收获和反思。

职场收获

适应公司技术

进入职场后,会先去适应公司的技术栈和工具,这些其实并不难,在了解和学习的过程中也能增长见识。

适应人际关系

除此之外,要适应同事之间的人际关系,并且要积极主动接受每一份儿交代过来的工作,因为每个人都会在内心给他人贴标签,如果某个人做事不靠谱,大家都会避而远之,所以最开始的时候要给大家留下好印象,便于日后协作。

多做日志记录

我在刚刚入职时,交给了我一个很小的功能迭代,听师兄介绍完背景之后,就开始进行开发,并且完成自测,代码 cr 和完成的发布流程,同时在做的过程中,记录了一篇日志,以免下次做的时候忘记,做事情严谨细心也会给别人留下好印象。

勇于承担责任

在承担责任方面其实我有很多做的不够的地方,有过主导需求的机会,但是没能把握住,还有一部分交给我的工作,放任自流,并没有完全积极去推进。这里需要提醒大家的就是无论什么样的工作交给你了就要多多用心,积极主动,勇于承担。

做好向上管理

另外一个,初入职场和学生时代有个很不同的地方,我觉得也是最需要牢记的。

在学校做事情要对自己负责,在职场做事情要对直属 leader 负责,也就是所谓的向上管理。

在学校的时候,无论是学习上课、参加学生会工作、参加课外兴趣班,本质都是为了自我提升,在读大学期间有所收获,毕业的时候回首没有虚度光阴。

在职场里面,需要每个人在自己的工作岗位上对集体有产出,为公司创造价值,在这样的情况下,你的直属 leader 决定了你的工作内容和产出价值,而个人的产出价值又会直接汇报给直属 leader,由 leader 合并大家的工作产生更大的价值,所以对直属 leader 负责,向上管理非常重要。

技术推动业务

作为技术人员的产出,通常还是要看如何利用技术去提升价值的。不能够完全去考业务来推动技术开发,要有技术推动业务的思考。举个例子:

  • 业务推技术:比如说产品经理说要增加一个页面,然后开发人员就去开发这个页面,这就是业务在推动技术。
  • 技术推业务:因为技术改造,使得开发页面的效率提升了 10 倍,然后开发人员和产品经理说,你的梦想实现了,花 1 个需求的时间就可以开发 10 个需求了,这就是技术在推动业务。

作为开发工程师,就是要发现技术中的痛点,解决掉之后提升自我价值。

面经

百度

第一次面试

  1. maven 打包的时候需要配置什么才能将包打进去
  2. spring boot 都有哪些注解
  3. 描述下如何反转链表
  4. 如何用 java 的写一个 web 应用,操作数据库,要注意什么
  5. 如果多个应用写同一份儿文件,如何才能够不出错误?
  6. spring 的 aop 是怎么实现的,用最通俗的话讲明白

第二次面试

  1. cpp 了解多少,讲讲指针和引用的区别
  2. 智能指针的实现原理
  3. 多态的理解
  4. 多态底层是如何实现的
  5. epoll 这些有印象么
  6. IO 模型都有哪些
  7. 写一个代码比较版本号,比如 1.1.0 和 1.0.1
  8. 内核态和用户态区别

拼多多

第一次面试

  1. 1 个有序的数组,里面包含了 N 个数字,分割成 M 段(M<=N),然后进行乱序排列,如何快速恢复其顺序
// 45 123 79
// 45 67 123 89
void resort(int[] arr, int N, int M) {
}

主要思路是这样的,先遍历一遍,然后得到最基本的分割情况,根据分割大小,与 M 进行判断和比较,如果比 M 小,再进行判断是否存在大块需要分割,再进行两两比较,分割完成,标记好分割点,最后进行重组

第二次面试

  1. rpc 调用流程?
  2. rpc 调用中,A 调用 B,A 如何知道 B 是不是服务不可用了?
  3. rpc 调用如何判断资源占用情况?
  4. 算法题,一棵二叉树,找到所有到叶子节点和为 target 的路径
  5. countDownLatch 的实现原理?
  6. 线程有多少种状态?time_wait 状态是什么意思?

第三次面试

  1. 如何设计 rpc,序列化怎么设计?
  2. 数据库 mybatis 语句 insert 的时候会返回 id,那么这个 id 是如何返回的,如何能够确认这条数据是你插入的,从数据库事务角度来看?
  3. 一个数组,[1,2,3,5,7,9,8,3,2],有一个值 k=8,如何判断数组中是否存在该值,时间复杂度不超过 O(n)
  4. 垃圾回收为什么需要标记的步骤,垃圾回收其实有四步,stop the world 原因是什么?

字节跳动

第一次面试

  1. redis 的基本数据结构
  2. m 个有序数组,每个数组长度为 n,将 m 个数组生成 1 个有序数组,如何做?

使用堆排序,m 个排一次,然后补充数据,最后得到结果

第二次面试

  1. 数据库不使用 b+树还可以使用什么数据结构?
  2. 跳表如何判断这个数据插在哪里?
  3. 跳表和 b+树比哪个效率更高?
  4. 什么情况下不会使用索引?
  5. http 2.0 有什么优点
  6. 外部调用为什么不使用 rpc 而使用 http 协议?http 协议有什么不可替代的么?
  7. 如果流量忽然很大,不使用限流的方式应该怎么办,也不扩容?削峰
  8. 消息队列消息顺序不一致应该怎么处理?
  9. 4 个数组,目标值 target,每个数组各找一个数,使得 4 个数和为 target,数组没有顺序,找到所有不重复的组合,要求时间复杂度 O(n^2)

shopee

  1. 对分布式事务有什么了解?
  2. redis 如何实现分布式锁?
  3. 如何保持分布式一致性?
  4. 消息队列重复消费怎么办?
  5. 算法题
寻找第K大
限定语言:Python. C++. C#. Java
有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。
给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。
测试样例:
[1,3,5,2,2],5,3
返回:2
  1. https 的执行过程是怎么样的
  2. 如何判断两个链表是否有交点,时间复杂度和空间复杂度
  3. 数据库的事务隔离级别有什么?
  4. 数据库如何实现可重复读这个隔离级别的?
  5. 如何写代码判断死锁的存在?设计一个数据结构出来
  6. redis 是如何做主从同步的?
  7. redis 持久化的方式都有什么,名称都是什么?
  8. 如何解决循环依赖的?
  9. TCP 如何连接和断开的?四次挥手的流程?
  10. 进程间通信方式都有什么?有什么区别?
  11. 什么是数据库事务?事务在哪些地方有应用?
  12. 如何设计一个哈希结构,都要注意什么?

在字节跳动这一年的收获(资源整理)

  • 面试专题:Java + J2EE + Spring + Hibernate + Linux + SQL + Scrum + Continuous integration

良好的开始是成功的一半,此言不虚,面试当然也如此。但是面试往往因为受到其备考时机,求职者心态的影响,有一个提前且有效的开始,其实真的相当不容易

  • Redis操作笔记:数据操作 + 专题功能 + 开发设计规范 + 上线部署规划 + 常见运维操作 + 数据迁移 + 问题处理 + 测试方法 + Redis安全问题 + 高可用和集群简述 + 高可用和集群架构与实践

  • SpringBoot总结:使用Spring Boot + Spring Boot特性 + Spring Boot执行器: Production-ready特性 + Spring Boot CLI + 构建工具插件 + How-to指南

SpringBoot的使用

  1. 构建系统
  2. 组织你的代码
  3. 配置类
  4. 自动配置
  5. Spring Beans和依赖注入
  6. 使用@SpringBootApplication注解
  7. 运行应用程序
  8. 开发者工具

SpringBoot特性

  1. SpringApplication
  2. 外化配置
  3. Profiles
  4. 开发Web应用
  5. 安全
  6. 使用SQL数据库
  7. 使用NoSQL技术
  8. 缓存
  9. 消息
  10. 发送邮件
  11. 使用JTA处理分布式事务
  12. Hazelcast
  13. Spring集成
  14. Spring Session
  15. 基于JMX的监控和管理
  16. 测试
  17. WebSockets
  18. Web Services
  19. 创建自己的auto-configuration
  20. 接下来阅读什么

  • MySQL:性能调优+架构设计

MySQL基础

  1. MySQL基本介绍
  2. MySQL架构组成
  3. MySQL存储引擎简介
  4. MySQL安全管理
  5. MySQL备份与恢复

性能优化

  1. 影响MySQLServer性能的相关因素
  2. MySQL数据库锁定机制
  3. MySQL数据库Query的优化
  4. MySQL数据库Schema设计的性能优化
  5. MySQLServer性能优化
  6. 常用存储引擎优化

架构设计

  1. MySQL可扩展设计的基本原则
  2. 可扩展性设计之MySQLReplication
  3. 可扩展性设计之数据切分
  4. 可扩展性设计之Cache与Search的利用
  5. MySQLCluster
  6. 高可用设计之思路及方案
  7. 高可用设计之MySQL监控

  • 实战项目系统设计:商城系统 + 博客/论坛系统 + 权限管理系统 + 微服务/分布式 + 消息中间件 + 搜索引擎 + 数据库 + 大数据 + 开放平台(微信)

项目相关的各种理论,市面上已经有太多了。但有关项目的现实困境,仍需要真正具备实战的经验和能力,而不是拘泥于理论。

实战经验需要时间的积累,但参考别人的实战案例,则是一个“见效很快”的办法。

如果你对我上面的这些总结感兴趣的话,

帮忙转发一下,关注后添加助理vx:yunduoa2019或扫描下图二维码,跟随助理指引自行获取

入职字节跳动一年,谈谈我的工作收获,另附入职面经相关推荐

  1. 写在入职字节跳动一周年

    目录 周年分享 工作经历 无数第一次 谈谈字节 生存之道 提高自己的影响力 保持主动性 项目中承担更高级的角色 其他基本素养 反思与未来 提效&学习 平台价值不等于个人能力 软实力 参考文章 ...

  2. 入职字节跳动那一天,我哭了(蘑菇街被裁,奋战7个月拿下offer)

    前言 先说一下自己的个人情况,18届应届生,通过校招进入到了蘑菇街,然后一待就待了差不多2年多的时间,可惜的是今年4月份受疫情影响遇到了大裁员,而我也是其中一员.好在早有预感,提前做了准备,之前一直想 ...

  3. “秘密入职”字节跳动,百度高级经理一审被判赔107万

    在互联网行业中,各个公司经营的业务难免有交集.为了保护公司机密,相关员工往往需要签订竞业协议,以限制其短期内加入竞对公司. 近日,在北京法院公开的一起"百度在线网络技术(北京)有限公司与潘x ...

  4. 说说入职字节跳动的感受

    入职字节跳动 11 天了,也刚好来北京 12 天了.12 天里,没有如约周更公众号,今天,似乎有点姗姗来迟. 但这,并不重要. 今天随便写点心得吧,主要就是来北京工作的一些简单的感受,顺带提一下:想来 ...

  5. 今年我33岁了,全职两年,找了一个星期工作,就选择入职了

    今年我33岁了,全职两年,找了一个星期工作,就选择入职了.不是因为这份工作多么好,我仓皇决定,而是在找工作中我找到了经验,任何工作平台,你有多能能耐才能实现多大收益.而不是盲目追求自我. 我觉得找工作 ...

  6. 技术开发项目收获了什么_有幸入职字节跳动一年,附上百度、字节跳动等后台面经,谈谈我的收获!...

    转眼已经工作入职一年的时间了,还是有非常多收获的,感谢这一年的时光,感谢所有遇到的人,让我变成更好的自己. 正所谓满园春色关不住,一枝红杏出墙来,带着满满的收获我开始了大规模的面试,拿到了大部分 Of ...

  7. 朋友入职字节跳动,测开岗,分享面试经验,大厂版测试笔记分享

    就在前几天,一个学妹入职了字节跳动,测开岗,还特意给我发来了信息表示感谢,因为我之前给了他蛮多帮助. 大家都知道,字节跳动的面试还是挺难的,毕竟字节在国内的互联网已经属于头部,所以我还是非常替我的这位 ...

  8. 成功入职字节跳动,分享我的八面面经心得!

    今天正式入职了字节跳动.办公环境也很好,这边一栋楼都是办公区域.公司内部配备各种小零食.饮料,还有免费的咖啡.15楼还有健身房.而且公司包三餐来着.下午三点半左右还会有阿姨推着小车给大家送下午茶.听说 ...

  9. 成功入职字节跳动的小姐姐告诉你,Android面试吃透这一篇就没有拿不到的offer!

    文章目录 写在前面 来,发车了! 1. 战略定位:Android面试都会问些什么? 2. 运筹帷幄:我需要形成什么样的知识体系? 3. 披襟斩将:我需要掌握多少知识? 4. 锦上添花:面试过程中适用的 ...

最新文章

  1. 构建富互联网应用程序监控工作流和流程(1)
  2. Eclipse java反编译插件之jadclipse
  3. 思科交换机vlan配置
  4. “斐波那契数列”的两种算法
  5. 泛型DAO与泛型Service
  6. django模型的继承
  7. python医学数据挖掘_GitHub - SSSzhangSSS/Python-Data-mining-Tutorial: Python数据挖掘教程
  8. 理解 OpenStack 高可用(HA) (6): MySQL HA
  9. Oracle中NVL2 和NULLIF的用法
  10. java akka 实战_Akka实战:分散、聚合模式
  11. 奋战杭电ACM(DAY10)1015
  12. android从子页面跳转回主页面注意
  13. 如何下载火山安卓软件开发平台
  14. RGB 与 RGBA 与 16进制 与 HSL 之间的简单转换
  15. python使用gps设备
  16. 计算机系统时间显示不准确的原因,电脑时间总是不对原因 电脑时间总是不对三种解决方案...
  17. Gamemaker studio2经验(1)——右键人物移动逻辑
  18. Dubbo入门到实战(一)
  19. 提问技巧(特别适用IT)
  20. EXCEL VB简单使用

热门文章

  1. 通过高德地图API(WEB端)获取中国所有省市(可扩展)的列表
  2. AI 产品如何做产品定位分析?
  3. Spring Boot 使用 QQ邮箱发邮件
  4. 迈阿密大学的计算机系咋样,美国迈阿密大学计算机专业本科.pdf
  5. MotoSimEG-VRC软件:多机器人信号交互与PLC功能
  6. Linux的ssh客户端
  7. STM32H743使用PA0,PA1作为ADC输入的坑!!
  8. arch linux开启dhcp,ArchLinux DHCP配置问题
  9. 易基因技术推介|高通量单细胞甲基化测序技术介绍(sc-RBS)
  10. Linux环境go项目启动提示/usr/bin/ld: cannot find -lxxx