前言: 从第一句hello world开始, 8个月的语言还有项目学习当中
激励最深的是台北市长柯文哲所说的:
永远不要羡慕别人的成功, 你只是付不起那个代价.
只有一不小心而全军覆没, 没有一不小心而大获全胜.
我从高中开始就自己来美国上学了, 总共在美国9年, 本科研究生的专业都是机械工程, 在2019年8月之前也就写过matlab, Fortran, 别的计算机语言一概不懂
转专业找工作这条路真是不容易, 还要每天兼顾学业, 保持每天的健身一次不落, 所有时间都在精打细算
坚持不易, 你要愿意放弃绝大部分的娱乐时间
为了你想做的事情去争取, 当你面试失败的时候, 不要想归结于外因, 你就仔细想想你真的200%努力了吗, 没有就别抱怨.
没有什么是你应得的, 美好的事物都要靠自己争取. 回头看你会发现, 拼搏过的日子, 都是你人生最美好的时光.
与大家共勉
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
学习的内容包括:
语言: Java, js
数据库,大数据: MySQL, Hadoop, Spark, Flink
网页开发: Java Servlet, Node.js, HTML/CSS, React, Spring, Hibernate, AWS
leetcode做了300左右, 加上零碎的 估计400. 对于数据结构还有算法的理解, 即做题质量, 永远比数量重要.
我看之前google, fb的工程师调查, 找到工作的时候, 平均leetcode也就做了200 - 300题.
学java还额外跟老师上课, 很值得, leetcode的创始人还是我老师的学生, 后来去了google, 也有开发过google chrome的老师, 贼厉害, 受益良多
有同学吗? 我是夏季3的 懂的自然懂哈哈哈
做一题, 会一题, 每题都基本上做了3次:
第一次: 实在不会看答案抄一遍, 最后按照自己的代码习惯优化一下
第二次: 尽量不看答案, 做完之后, 用英语说出来, 就像面试一样, 跟科班同学交流, 能把别人说明白, 你才是真的懂了
第三次: 快速写一遍, 就算实在不会, 查java文档, 看stackOverFlow也不看答案 , 当然了 给自己限定了20分钟, 真想不到也别浪费时间, 看答案吧 hh
看到题目的时候, 我是绝对不会马上写代码, 我会分析完一下三点, 才开始写
1. 分析边界条件, 返回值, 输入输出, 假设各种极端情况
2. 你可能用到的算法, 数据结构, 大概怎么写
3. 大概的时间复杂度, 空间复杂度
题目毕竟题目, 工作当中经常会遇到新的问题, 网上不一定找的到答案的, 这时候你需要你的知识支撑起你的思维逻辑
目前收到的offer总共有5个: 都是base深圳
a: 平安科技ios开发
b: 字节跳动后端java开发
c.d.e: 3个小公司, 不过估计牛友们可能不知道, 我就不写出来了
在等审批的有: 招银网络科技.
面试失败: one plus, 华为. 不找借口. 事实就是就是面试没发挥好, 没回答上来, 菜是原罪呗
笔试失败: 4399(睡过头了, 写了一半), Shopee(不会做-_-)
获得笔试机会没有参加: 阿里巴巴, 快手, 拼多多, 完美世界. 因为平时还要去实验室, 要不太忙放弃了, 要不睡过头, 要不就真忘了.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PS: 我的人生第一次面试就给了字节, 谢谢收了我.
字节跳动: 3次技术面 + 1次hr面
一面:
1. 自我介绍
2. (1) Leetcode 134 (2)Leetcode 860。(他每一题给你换个关于字节跳动的场景而已,答案是一样的)包着狼皮的羊咩咩。😋
3. 项目相关问题。(Spring)
4. java,py,c++区别
5. JVM的分区
6. 数据库了解吗?原子性怎么实现?mvcc的原理?
Innodb, MyISAM,Memory区别。
选一个你最熟悉的隔离级别说给我听听,详细一点?
7. B+,B, AVL, 红黑树区别, 为什么B+, 如果用B会咋样
8. 死锁3连:你觉得什么是死锁 -》怎么找到死锁 -》 怎么避免死锁 ====== 就差让我写个死锁了
9. reentrantlock 相关
10. Java.util.concurrent
11. HashMap, HashTable, ConcurrentHashmap。。 你们懂的, 1.7 -》1.8, 分段锁,红黑树,链表 那些一通说,
12. 诶 对了,刚刚你好像没有详细说GC
13. eden survior from to , gc root,垃圾清除算法
14. 你觉得你跟其他面试者的区别(你为什么觉得自己有竞争力呢)?
二面:
1. 自我介绍.
2. 项目介绍+问答:
a. 推荐算法在项目里的应用, 代码是咋写的
b. 用了哪些设计模式, 你除了你用的还知道别的吗 我介绍了装饰器, 外观, 代理
c. RestFul API
d. 怎么获取别的网站api并且应用的
e. 加密算法
3. 进程转换做了什么? cpu怎么调度进程还有调度算法是什么.
4. 进程, 线程, 通信 + 同步 方式.
5. 信号量 + 锁. 应用场景
6. 概括一下你知道哪些排序算法, 稳定性, 复杂度分析
7. (1) Leetcode 23 (2) leetcode 25
8. 聊天
三面:
1. 毕竟最后一面了, 面试官有点想直接开始的意思, 我有点紧张, 问能不能先自我介绍, 聊几句, 他说行, 然后先聊了5分钟的天
2. 项目介绍 + 问答:
a. 你为什么用Spring, 介绍SpringMVC, IOC, DI, AOP, SpringMVC的流程
b. 注解介绍及其在项目中的应用, autowire, controller, Repository 等等
c. bean介绍, 作用域
d. xml配置, 注解配置, java配置
e. 简单说了下hibernate的一级缓存二级缓存
3. 你平时是怎么学习的? 怎么就想来写代码了, 跟你之前专业完全不一样啊
4. java引用,详细介绍, 顺带说了gc. 一开始面试官在牛客里给了我一段代码, 让我判断输出结果, 然后见我答的太快了, 又把代码改了3次, 分别作答输出结果
5. 判断浮点数是否相等, 在牛客里把代码打出来
6. 我问面试官上面那两题(4, 5)算是我的代码题目了吗, 本来心中窃喜, 他说 不是, 还要写, 你别急 5555555555
7. (1). leetcode 124 (2). leetcode 10
8. 结束了, 我说我真喜欢打代码, 好有趣, 他给要不要再来一个hard难度的, 我说行啊(其实内心无比紧张), 他说逗我的 hh
hr: 小姐姐很温柔, 就问了下毕业情况, 有没有别家offer PS: 字节hr效率太高了我的天, 基本都是面完2-3小时约我下次面试的时间. 3面完之后, 1小时后告诉我通过了
在字节的面试中: 所有代码题我都是把时间复杂度, 空间复杂度, dp[i][j]代表的含义, 边界条件分析清楚. 要不然人家觉得你背答案
对于每一题, 我都会说为什么用这个算法, 考虑如果能优化哪里优化? 在优化了的情况下, 空间换时间 还是时间换空间,
哈哈, 三面面试官夸我 空格 + 花括号 用的很清晰, 代码干净, 超级开心. 大部分都是要自己写main函数, 然后测试一下, 基本上就用题目里的例子就行
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
平安科技ios: 2次技术面 + 1次hr面(压力面)
一面: 全部扣的项目, 真的 是全部, 因为对于oc, 我说我只是略懂, 就没问我
二面: 应该是看我写了js, 稍微问了下
1. js的冒号机制
2. js的基本数据类型
3. == / ===
4. 提升机制
5. null 和 undefined区别
6. 因为有个项目我调用了twitter的数据, 分析热门标签, 所以问了如下问题
a. flink, spark, 你咋用的
b. 简单说了下我怎么用的scala
c. 为什么用kafka
d. ajax
e. 你是怎么进行twitter数据里的褒义词贬义词统计
7. 说了React, 就props, state, 不是很难, 介绍了下jsx语法
8. 介绍虚拟DOM
9. 然后就大概问了下为什么想做ios, 因为我大部分项目还是偏后端的,
10. 什么时候能来工作, 为什么不做安卓, 因为我的主语言是java
HR压力面:
1. 你最大的缺点, 或者说最近遇到最困难的事情
2. 你对于平安怎么看, 为什么想来这家公司
3. 你平时怎么学习的
4. 平时除了学校学业以外的爱好: 我说我去逛GitHub, 看书(主要是经济类和历史类), 买美股
5. 问我除了学习以外呢? 放松的时候干什么: 弹吉他(从初中开始), 乌克丽丽(3年), 健身(每一天)
6. ..还有很多很多, 我面了快一个小时. 别的真忘了.
平安的这次面试, 特别愉快, 不难, 项目也准备的充分, 算是最自信的一次面试了. hr效率也特别高, 不超过6小时, 打电话通知下次面试时间.
hr压力面完之后, 20个小时告知通过面试.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
招银网络科技: 2次技术面 + 1次hr面
一面:
1. 聊美国疫情, 校园安全问题, 10分钟
2. 职业规划, 5 分钟
3. 聊聊Java吧
4. 守护线程
5. 1.7 1.8
6. 多线程讨论
7. Spring 注解
8. SpringMVC流程
9. IOC DI Bean
10. 代码 单词分割
面完我就在想, 瓦特? 这就完了
不过面试官真的人很好啊, 一直用聊天的方式跟我互动,
二面: 聊了挺久的 35分钟
1. 自我介绍
2. Flink和Spark聊一聊, flask的好处是啥?
3. Kafka原理, zoomkeeper
4. 你用的设计模式
5. 怎么样用好MySQL. mongoDB随便聊了两句 PS: (买入价56刀的时候就买了mongoDB的股票了) hhh
6. servlet 和 springmvc区别
7. Restful Ajax
8. Hibernate是什么, 哪些重要的实现
9. hibernate状态, 检索
10. 聊天, 对于工作的展望
HR: 聊了45分钟, 毕业成绩, 奖学金. 等等
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
全部评论
(19) 回帖