博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试小结
阅读量:6589 次
发布时间:2019-06-24

本文共 1305 字,大约阅读时间需要 4 分钟。

想换个对技术要求比较高的岗位和有发展的工作环境,当然,得到一个与技能相匹配的薪资也是一个很重要的原因

 

面试了8家公司,就总结一下

面试中重要的几个方面:

1、技能。作为技术人员,这个是干活的家伙什

2、沟通。见啥人说啥话,不同的面试人员,要从不同的抽象层面进行沟通

 

高级技能:分布式、缓存(一级缓存、二级缓存)、消息中间件(性能、事务、积压时的解决办法)、数据库的分库分表,主从数据库、集群

高并发、高性能(并发是两个任务共享时间段,分时系统在一个cpu上跑就是并发;并行是两个任务在同一时间发生,即在不同的cpu核心上同时运行)

 

行业背景:互联网。现在硬件成本降低,手机、平板都可以进行满足日常生活的所有消费,即这是一个新的消费通道。

网站或app,直接面向消费者,这样就产生对高并发、高性能的需求

 

技术篇:

作为java作为主技术能的dev,

jvm:jvm结构、哪些对象需要回收、如何回收、什么时候回收

多线程:线程的状态转换图、如何启动线程、线程池(如何用、内部如何实现--任务一项技术都不是万能药,只有在合适的地方使用,才能没有意外发生)、线程之间如何通信(多个线程都能操作的东西,都可以作为媒介)

锁:

java中的锁:既然有多线程,在共享数据时,肯定要有个协调机制,不然结果就是不可控的。技术是为业务服务的,业务规则都是确定的,一定要有顺序。这个顺序在java中就是使用锁来协调的。

java中的锁:

synchronized,ReentrantLock,ReentrantReadWriteLock。如果没有wait的场景,能用synchronize就用。
如果需要wait或需要对同步可控,则可以使用ReentrantLock;
如果读多写少的场景,就使用ReentrantReadWriteLock

还有一种场景就是一个任务中间有些部分可以用多线程解决,只有多个线程都结束,才能进行下一步,这种情况使用invokeAll、CountDownLatch 、CyclicBarrier

 

IO:InputStreamReader,OutputStreamWriter,可以设置编码

 

消息中间件:各个消息中间件的比较,p2p,jms Publish/Subscribe。消息中间件嘛,数据丢失了怎么处理

分布式
nginx--tomcat,这是对请求的分发
ehcacher、redis缓存的处理,数据库就不单独写了,整体和Cahce写到一块吧。读数据时,Business不用考虑是从缓存中获取,还是从数据库中获取

Map中get和put的逻辑

数据库优化的途径

Spring bean scope,aop,mvc,transaction,

 

排序、查找算法

 

最后就是沟通了,和管理干部或HR沟通,与技术人员沟通的方式是不同的。

沟通时,讲些对方世界里的内容,是沟通的前提

谈薪资,说个高价,再讨价还价也可以。坚持自己的期望也可以。
找工作这个事,和找女朋友差不多,双方谈妥了,什么都好说;
如果差点啥,就是降低标准,也不一定能勾搭在一块

一专多长。一定要有一个能拿得出手的

Best wishes!

 

转载地址:http://dbhno.baihongyu.com/

你可能感兴趣的文章
Jquery Cookbook摘要之使用上下文参数
查看>>
你真的懂用户画像吗?
查看>>
npm-scripts 在 windows 下的兼容问题
查看>>
用Git虚拟文件系统来解决大型存储问题
查看>>
微软发布Azure Cosmos DB产品以及新的物联网解决方案
查看>>
迁移至Kubernetes的三种主要方式对比
查看>>
Michael Feathers希望消除错误能驱动设计
查看>>
公有云还能信任吗?Azure遭雷击中断超过一天
查看>>
大数据分析引擎Apache Flink升级成为Apache顶级项目
查看>>
gulp的安装和配置详解
查看>>
Nodejs基础:路径处理模块path总结
查看>>
tomcat项目支持跨域访问
查看>>
json字符串与js对象转换
查看>>
Https是如何工作的?
查看>>
来自天国的 kubernetes
查看>>
css table布局大法,解决你大部分居中、多列等高、左右布局的问题
查看>>
互联网金融爬虫怎么写-第二课 雪球网股票爬虫(正则表达式入门)
查看>>
聊聊python文件
查看>>
基础一:JS数据类型
查看>>
Docker的八种用途
查看>>