11月月初,从工作一年的公司离职了。离职后,休息了三天开始投简历、找工作,第一天面了花儿绽放,挂在了技术面,第二天面了金蝶,拿到了offer(顺便说一下,大公司流程比较多,从拿到offer到入职用了11天)。
关于上家公司的经历,感触挺多的。从18年7月开始实习,到19年11月离职,大概持续了一年零五个月。公司是一家小型创业公司,属于移动互联网行业,做的是To B的物业行业工具,使用的都是主流的技术,但产品用户量较小,业务场景都比较简单。
小公司有其优点也有缺点,因为团队小,大家平时相处的也比较融洽,工作任务不会太重,但是缺点也比较明显,最主要的就是平台较小,获得的成长也比较有限。如果有机会,还是去大公司吧,怎么鉴别大公司呢?首先,优选上市公司,然后看公司成立年限,成立越久越好,1-3年的最好别去。
下面是这次求职的总结:
关于面试前准备:
面试前一定要准备,准备时间看个人的积累,主要是基础知识及项目经历。基础知识一定要熟练掌握,例如Java的基础就包括:Java面向对象的特性、八种基本数据类型、集合框架、IO、NIO、多线程、线程池、juc、网络编程。项目经历最好能有亮点或技术难点,因为面试官是根据简历来问的,不要给自己挖坑,同时也得有点东西能和面试官聊。
关于投简历:
最好不要盲目海投,先看清岗位要求、公司规模再投简历,海投可以获取较多的面试机会,但是面试机会贵在精、不在多,问题的关键在于获得好的机会的时候你能否能把握住,如果能获取华为的面试机会,一次就够了,问题的关键在于自己能否把握住。
关于面试安排:
一天最好安排一次面试,两次的话来回奔波就有点累了,面试后当天就要总结,无论是笔试还是技术面,面试题都会有一些相似之处,有些甚至是完全相同,因而,一定不能出现相同的面试题出现时答错的现象。
关于面试题:
Java
1.八种基本数据类型、集合框架、IO、NIO、多线程、线程池、JUC、网络编程
2.HashMap和ConCurrentHashMap的源码最好能熟悉(可以加分)
3.try catch finally 执行顺序
4.线程池怎么创建,常用参数有哪些?
5.使用多线程应注意哪些问题?
JVM
1.内存模型,每一个模块的作用 2.类加载顺序
3.垃圾回收机制有哪些?分别是怎么工作的?
计算机网络
TCP/IP模型、OSGI模型、常用协议端口号、三次握手和四次挥手
操作系统
Linux常用命令、线程和进程
中间件
Ngnix是什么、主要功能、常用负载均衡算法、
数据库
MySQL索引类型及使用中应注意的事项、数据库设计三大范式、锁的类型、MVCC原理、CAS算法,redis是否用过、使用场景、如何解决分布式场景下的一致性问题
微服务
1.HTTP和RPC的区别(很重要)
2.dubbo用过吗?
3.如何解决分布式事务一致性问题?
4.SpringCloud和dubbo还是要懂,没用过自己也得做做案例练习,现在都在用
Java框架
1.IOC和AOP的优点、用途,AOP在实际项目开发中是否用过,如果用过,举例
2.Netty是什么?线程模型是怎样的?用过吗?
消息队列
消息队列的使用场景、如何解决分布式事务一致性的问题、如何处理消息丢失