I do not know Beijing. I do know several other cities in China, mainly 1st / 2nd tier, and what I will write below is concentrated on multinationals. This is intended to educate on the market concerning IT and multinationals; other options do exist.
Multinationals - mainly US companies in the IT field:
A lot of multinationals divert development and testing work to China, the most common reason cited is 'concentration risk' which sometimes means China is cheaper than India which it is a bit but for detailed varying reasons I will accept a consultancy fee for. The other compelling reasons is a genuine worry too much is offshored / outsourced to India and therefore is subject to India-specific market conditions, be it attrition which is much higher than China or other risk.
The expected working environment is English language. Office banter happens in Chinese, but international conference calls with India, US and Europe occur in English. And hiring a good local developer with good language skills is difficult. Testers are easier as communication skills are essential with English majors mixed with automation and CompSci majors less interested in development is the usual mix there, testers then get testing methodology training from the company they join. But developers - a strong developer tends to have less strong language skills, one with English language and good development skills are like gold dust.
But one thing turns gold dust to a diamond. That is specific product knowledge. Multinationals tend to have teams working with international teams on implementing large projects lasting several years which also require specific and intricate knowledge of a specific software product - not development environment, actual product being worked on, or related product which said product interacts with. This Subject Matter Expert will be extremely highly sought after.
To platinum plate your diamond, add Linux / Unix shell and some Big Iron experience. The vast majority of CompSci university education experience is Windows, .NET and Java centric, as that's where jobs are on an aggregate level. But university education outside a few exceptions at the top academic institutions is so Windows, .NET and Java centric then outside the largest institutions *nix is rarely taught, leading to a drought of experienced professionals in that area.
If you have all of the above, you will be an exotic, platinum coated diamond headed to a senior developer / manager position in a multinational. If you have some, you will be sought after. SME is the killer for a hiring manager. HR might not know exactly what is sought, but if a hiring manager sees SME skills they will move mountains to ensure you're hired at some kind of specialist or manager - though not necessarily managing people - level. Expect to be expected to spend time coaching others on the team.
Developers are also sought as good SIT / UAT testing managers, complimenting a pure-testing shop with some of 'the other side' experience. That's also an option. Having Project Management experience / ownership / governance would be a boost for a developer wanting to do testing management
Language is not an issue in multinationals. You'll be welcomed, the managers will feel happy to have attracted a well qualified foreign talent and once trust is built probably confide quite a lot. Remember you'll also bring a strong level of cultural diversity, many of the team will not have worked overseas, despite working with overseas so much, and they will have a lot of interest in learning new working practices and ideas, but broker that carefully with existing management.
As for salary - depends on what can be brought from the above. Ideal is working for an existing multinational and getting a relocation and expat package, but the reality is that now only happens at the most senior levels, Director-ish or with extreme specialist skills that simply do not exist locally. Accept a local+ offer. To calibrate what that is, or to get any personal tips, either yourself or anyone else reading this, please shoot this message a reply or send me a personal message.